Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 传递php变量onclick会产生错误_Javascript_Php_Onclick - Fatal编程技术网

Javascript 传递php变量onclick会产生错误

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>

请参阅下面的脚本。当使用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>';
请问我错过了什么

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,而不是按钮。