Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.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
Ajax、PHP和mysql评论系统_Php_Javascript_Mysql_Ajax - Fatal编程技术网

Ajax、PHP和mysql评论系统

Ajax、PHP和mysql评论系统,php,javascript,mysql,ajax,Php,Javascript,Mysql,Ajax,我正在尝试使用ajax php和mysql为网站创建一个评论系统。为此,我想将单击的按钮的id发送到sql数据库,以将注释(将设置为文章名称)上载到sql数据库(以及注释和其他内容…) 我现在的系统很奇怪。。如果我将其复制到JSFIDLE it中,并链接到服务器上正确的php文件,它工作正常,按钮的id将上载到数据库。。然而,如果我把完全相同的东西上传到我的网站上,它就不起作用了。。。以下是我所拥有的: Html格式: <form id="addCommentForm"> <

我正在尝试使用ajax php和mysql为网站创建一个评论系统。为此,我想将单击的按钮的id发送到sql数据库,以将注释(将设置为文章名称)上载到sql数据库(以及注释和其他内容…)

我现在的系统很奇怪。。如果我将其复制到JSFIDLE it中,并链接到服务器上正确的php文件,它工作正常,按钮的id将上载到数据库。。然而,如果我把完全相同的东西上传到我的网站上,它就不起作用了。。。以下是我所拥有的:

Html格式:

<form id="addCommentForm"> 
<input type="email" name="email" onchange="checkEmail();" id="email" /> </br>
<div>
<p id="emailerror"> </p>
</div> </br>
<input type="text" name="username" id="username" /> </br>
<input type="text" name="content" id="content" /> </br>
<input type="Button" value="submit" id="Test" onclick="commentSend(this.id);return       false;"/>
</form>
而php:

<?php 
$con = mysql_connect("myserver","myusername","mypassword");
mysql_select_db("mydatabase", $con);

$articleName = mysql_real_escape_string($_GET['articleName']);
$email = mysql_real_escape_string($_GET['email']);
$username = mysql_real_escape_string($_GET['username']);
$content = mysql_real_escape_string($_GET['content']);

if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

$query = "INSERT INTO Comments (id, article, email, name, body)    VALUES (NULL, '" . $articleName ."', '" . $email ."', '" . $username . "', '". $content . "')";

mysql_query($query);

mysql_close($con);

?> 

您没有为查询字符串中使用的变量编码

要解决这个问题,您可以使用
encodeURIComponent
(对于所有值…),例如:


您没有编码要在查询字符串中使用的变量

要解决这个问题,您可以使用
encodeURIComponent
(对于所有值…),例如:


当你在你的网站上运行Firebug时,Firebug会说什么?我不使用Firebug。。。给我一点时间,我会下载,看看它说的是什么。所以,如果这是家庭作业,请标记为这样,你会得到较少的铰做的事情,你有。今天的老师们简直糟透了,你不应该为此受到指责。你用的是什么样的评论文本?一种猜测是,您的示例文本太长,文章名称被取消。尝试使用POST数据,而不是回避任何url长度问题。好的,放弃这个。。。很明显,这不适用于我的safari版本…:/我正在测试版本中,有人能帮我确认这在最近的safari完整版本中是否有效吗?当你在你的网站上运行它时,Firebug会说什么?我不使用Firebug。。。给我一点时间,我会下载,看看它说的是什么。所以,如果这是家庭作业,请标记为这样,你会得到较少的铰做的事情,你有。今天的老师们简直糟透了,你不应该为此受到指责。你用的是什么样的评论文本?一种猜测是,您的示例文本太长,文章名称被取消。尝试使用POST数据,而不是回避任何url长度问题。好的,放弃这个。。。很明显,这不适用于我的safari版本…:/我正在测试版本中,有人能帮我确认这是否适用于最新的safari完整版本吗?
<?php 
$con = mysql_connect("myserver","myusername","mypassword");
mysql_select_db("mydatabase", $con);

$articleName = mysql_real_escape_string($_GET['articleName']);
$email = mysql_real_escape_string($_GET['email']);
$username = mysql_real_escape_string($_GET['username']);
$content = mysql_real_escape_string($_GET['content']);

if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

$query = "INSERT INTO Comments (id, article, email, name, body)    VALUES (NULL, '" . $articleName ."', '" . $email ."', '" . $username . "', '". $content . "')";

mysql_query($query);

mysql_close($con);

?> 
var content = encodeURIComponent(document.getElementById("content").value);