在PHP表单的select查询中使用JavaScript变量作为表名

在PHP表单的select查询中使用JavaScript变量作为表名,javascript,php,Javascript,Php,我在使用一个函数,其中我为一个变量分配一个tablename值,如: function mshirt(){ var tbname='m_shirts'; } 然后在PHP表单操作部分: 问题是它假定tbname是未定义的常量。问题 该错误是由以下行引起的: $tablename=tbname; tbname是一个JS客户端变量:您不能简单地将它输入PHP服务器端并期望它工作。您需要将其作为POST数据发送到PHP,就像发送其他数据一样 解决方案 例如,如果您是通过AJAX和jQuer

我在使用一个函数,其中我为一个变量分配一个tablename值,如:

function mshirt(){
    var tbname='m_shirts';
}
然后在PHP表单操作部分:

问题是它假定tbname是未定义的常量。

问题

该错误是由以下行引起的:

$tablename=tbname;
tbname是一个JS客户端变量:您不能简单地将它输入PHP服务器端并期望它工作。您需要将其作为POST数据发送到PHP,就像发送其他数据一样

解决方案

例如,如果您是通过AJAX和jQuery执行此操作的:

var tbname = 'm_shirts';

$.ajax({
    url: "path_to_php_file.php",
    method: "post",
    data: {
        tbname: tbname,
        // the rest of form data (the request) to be sent
    }
});
在PHP中,您可以将其作为常规的$\u POST变量索引:

$tbname = $_POST["tbname"];

如果您使用常规表单或其他方法发送数据,则需要修改此。。。这只是一个演示示例。

您正在尝试混合语言


您应该通过ajax或表单发送表名,然后使用$\u GET或$POST捕获您的值

我想您正在执行一个异步请求,您可以发布javascript代码吗?
$tbname = $_POST["tbname"];