多个帖子的 PHP 投票系统

我有一个可用的 PHP Ajax 投票系统,可以将博客文章中的赞写入 .txt 文件,我想将其扩展为多个帖子并记录每个帖子的赞。


我试图更改“onclick”值,但似乎我使用的脚本限制了我。


HTML


<span id="like"><a href="javascript:" name="vote"

value="0" onclick="getVote(this.value)">Like</a></span>

爪哇脚本


function getVote(int){

    if(window.XMLHttpRequest){

        xmlhttp=new XMLHttpRequest()

    }else{

        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")

    }

   xmlhttp.onreadystatechange=function({

        if(this.readyState==4&&this.status==200{

            document.getElementById("like").innerHTML=this.responseText

        }

   };

    xmlhttp.open("GET","vote.php?vote="+int,true);

    xmlhttp.send()

}

PHP


<?php 

$vote=$_REQUEST['vote'];

$filename="votes.txt";

$content=file($filename);

$array=explode("-",$content[0]);

$yes=$array[0];

if($vote==0){

    $yes=$yes+1;

}

$insertvote=$yes;

$fp=fopen($filename,"w");

fputs($fp,$insertvote);

fclose($fp);

?>

我是否应该为每个想要保存喜欢的帖子编写不同的 .php 文件?


慕运维8079593
浏览 178回答 1
1回答

繁星coding

这里有 2 个问题:1. 你不能命名你的变量,int这是一个保留关键字,所以将它重命名为x2. 你的 js-fiddle 设置为 onload。这会将您的 javascript 包装在一个函数中。在您的小提琴中转到Javascript + no library (pure js)选择器,然后No-wrap bottom of head在Load Type选项中选择&nbsp;Reserved Javascript-keywords现在:关于缩放。如果你想扩展这个而不使用数据库......你可以为每个帖子都有一个投票文件。然后 ud 只需将帖子名称传递给 ajax 调用,您的 php 脚本将打开文件,读取数字,将其增加 1 并关闭它。或者您可以将它们存储在单个文件中并在您需要时解析内容。所以我 ud 有一个由 <postid>:<votes>,... 组成的文件,并使用explode 解析这个文件。然而,如何扩展这个问题一般来说太宽泛了
打开App,查看更多内容
随时随地看视频慕课网APP