Javascript 传递php变量onclick会产生错误
请参阅下面的脚本。当使用php变量$varis时,Onclick of Add会给出一个错误,但是它将使用一个数字-即如果index.php中的行:Javascript 传递php变量onclick会产生错误,javascript,php,onclick,Javascript,Php,Onclick,请参阅下面的脚本。当使用php变量$varis时,Onclick of Add会给出一个错误,但是它将使用一个数字-即如果index.php中的行: echo '<button id="1" onclick="company_add(\''.$var.'\');">Add</button>'; 已更改为以下内容: echo '<button id="1" onclick="company_add(',57776,');">Add</button>
echo '<button id="1" onclick="company_add(\''.$var.'\');">Add</button>';
已更改为以下内容:
echo '<button id="1" onclick="company_add(',57776,');">Add</button>';
请问我错过了什么
Index.php:
<html>
<head>
<script type ="text/javascript">
function company_add(company_name) {
$.post('company_add.php', {company_name:company_name}, function(data) {
if (data == 'success'){
alert("Cool");
} else{
alert(data);
}
});
}
</script>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
</script>
<?php
include 'connect.php'; //Generic connect file
$var = 'Name';
echo '<button id="1" onclick="company_add(\''.$var.'\');">Add</button>
<br/>';
?>
</body>
</html>
company_add.php:
<?php
include 'connect.php';
function company_exists($company_name) {
return (mysql_result(mysql_query("SELECT COUNT(`company_name`) FROM
`company` WHERE `company_name` = $company_name"), 0) == 0 ) ? false :
true;
}
function add_company($company_name){
mysql_query("INSERT INTO `company` (`id`, `company_name`) values ('',
".$company_name.")");
}
$company_name = $_POST['company_name'];
if (company_exists($company_name) === true) {
echo 'Company already added';
} else {
add_company($company_name);
echo 'success';
}
?>
这样使用该行:
$var = ltrim(",", $var);
$var = rtrim(", ", $var);
echo "<button id='1' onclick='company_add('" . $var . "');'>Add</button>";
回声叠加
如果在$var的值前后已经有逗号,则应该对其进行修剪。
所以像这样使用它:
$var = ltrim(",", $var);
$var = rtrim(", ", $var);
echo "<button id='1' onclick='company_add('" . $var . "');'>Add</button>";
如果使用该公司表的id字段作为自动增量,则可以在INSERT语句中保留id字段名称和值。
在add_company函数中,如下所示:
$query=插入公司名称值“{$company\U name}”在$company\U name和.$company\U name周围缺少引号。因为我们很可能要处理字符串值。向mysql\u查询添加或删除mysql\u错误,您将看到未检查的错误。请。它们不再得到维护,而是在使用。而是学习,并使用。当我输入这首歌时,@StevieWonder的一首歌实际上正在潘多拉上播放。改为:-在浏览器中查看源代码并向我们展示它实际上是什么,而不是以某种模糊的方式模糊地显示它。你在问题开始时描述的问题没有多大意义。字符串文本中显然有转义引号。“成为”部分看起来像在呈现客户端之后的样子,但它不像在echo语句中仍然会成为服务器端的样子。你是如何调试的?此外,你看到的具体错误是什么?@JayBlanchard Stevie的SRV正在玩迷信游戏-作为您的参考,您甚至可以使用字符串而不是数字。-不符合OP的SQL语句。OP:Onclick of Add在使用php变量$varis时会给出一个错误,但是它将使用一个数字——这是SQL,而不是按钮。