php - 制作喜欢/不喜欢 AJAX 脚本 - 不起作用

标签 php mysql ajax forms sql-like

我只是先构建它的相似面。基本上,我只是希望它自动运行一个外部 PHP/MySQL 脚本,为喜欢的内容添加 +1 到“评级”列。我希望在不重新加载页面的情况下发生这种情况,因此是 AJAX。我从未使用过 AJAX,并且在让它工作时遇到了一些麻烦。下面是相关代码,我在这篇文章的底部放置了一个指向我正在处理它的位置的链接。

这是开始的表格:

<div id="voting">    
<form>   
  <input name="vote" type='button' onclick="getVote(<?php echo $image['filename'];?>)" value='Like' /> 
    </form>
</div>

这是它的 AJAX 部分:

<script type="text/javascript">
function getVote(filename)
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("voting").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","voting.php"+filename,true);
xmlhttp.send();
}
</script>

最后,应该运行的 vote.php 脚本:

<?php
//Database Information
$dbhost = "";
$dbname = "";
$dbuser = "";
$dbpass = "";

//Connect to database
mysql_connect ( $dbhost, $dbuser, $dbpass)or die("Could not connect: ".mysql_error());
mysql_select_db($dbname) or die(mysql_error());

$filename = $_GET['filename'];

$query = "UPDATE images SET rating = rating+1 WHERE filename = '$filename'";

mysql_query($query) or die(mysql_error());
mysql_close();

?> 

Here如果对任何人有帮助,就应该继续访问该网站。我真的很感激任何形式的帮助。完全一无所知,我以前从未使用过 AJAX。提前致谢!

最佳答案

我不知道这是否是您的问题,但您没有向投票网址发送任何参数。

xmlhttp.open("GET","voting.php?filename="+filename,true);

此外,您希望保护该脚本以进行简单形式的 SQL 注入(inject)。

$filename = isset($_GET['filename']) ? mysql_real_escape_string($_GET['filename']) : null ;

if (is_null($filename)) {
    exit;
}

关于php - 制作喜欢/不喜欢 AJAX 脚本 - 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8187588/

相关文章:

php - MySQL/PHP/Wordpress - php 结果对象包含具有函数名称的成员 - 如何取消引用?

php - 使用 MySQL LOAD_FILE() 将 XML 添加到列

PHP Laravel 中断 foreach 循环 2 次

PHP MYSQL XML 错误

mysql - 对mysql时间间隔的值求平均值

java - MySQL Incorrect datetime value错误需要JDBC解决方案

javascript - "/"是否等于 "window.location.protocol + '//' + window.location.host"

php - 如何使用 AJAX 使用查询的最后一个 ID 进行查询?

javascript - 使用 XMLHttpRequest 加载页面时的奇怪行为

php - 正则表达式,如何将内容文本放入数组中?