【发布时间】:2015-11-17 19:09:54
【问题描述】:
我不知道如何通过以下脚本解决变量$cat。
"text" 变量从 Form 到 javascript 并传递给 php 函数为 $Categories_name 和 $cat。
$cat变量我已经测试过了,它不是“String”,是“object”,我不明白。
但我需要 $cat 是“字符串”。
当测试 = “这是猫”(3 个字)时,
我通过 php str_word_count 测试 $cat 并且输出为 1(我需要正确答案 3);
我通过 php var_dump 测试 $cat 并且没有输出(我需要更正答案“String”)。
<p id="CaTable"></p>
<script>
function CaFunction()
{
var text = document.getElementById("CategorySelect").value;
document.getElementById("CaTable").innerHTML = "<?php php_catable('" + text + "'); ?>";
}
</script>
<!-- Generate Table by php and MySQL-->
<?php
function php_catable($Categories_name)
{
$cat = $Categories_name;
.................
.................
$sql = "select * from table where xyz = '" .$cat. "'";
}
?>
【问题讨论】:
-
尝试 document.getElementById("CategorySelect").text
-
PHP 在服务器端运行。因此,一旦页面到达浏览器 php 就不会运行。你的代码正在做的是运行函数 php_catable 参数
" + text + "因为 javascript 只在浏览器中运行。 -
具体怎么解决?我使用 .innerHTML 是因为当 Form 中的选项更改时,html 显示会立即更改
-
你不能在Js中调用php函数(至少在这种情况下不是),它们不在同一个范围内,PHP代码在浏览器执行JS代码之前是由服务器方式执行的。
-
在另一张纸条上。您有 SQL 注入风险
"select * from table where xyz='" .$cat ."'";非常危险,尤其是因为您试图将用户输入直接放入查询中read this 以获取更多信息。
标签: javascript php html