3

我正在努力让用户可以在线对我的一些照片进行投票。

我正在用 HTML、JavaScript 和 PHP 编写所有代码。

当用户按下投票按钮时,它会加 1。然后当用户刷新页面时,我想保留投票,所以它仍然会说1,而不是重置为零。

我的问题是,我该怎么做?

我发现我不能在我的服务器上使用 javascript fileIO。

我尝试了一些 PHP,但我的大部分代码都在 javascript 中,我无法弄清楚如何从 javascript 函数中执行一些代码。

我有这样的想法:

<body onload="opstart();">

加载正文后,我调用了一个 javascript 函数。我可以在这里调用一些 PHP 吗?

// Get number of votes from txt file
function opstart()
{

}

在其中,我正在考虑从文本文件中读取数据并将其加载到保存票数的变量中。

4

4 回答 4

1

为什么要将这些值存储在文本文件中。它们应该在一个数据库中,您可以在其中轻松地用 PHP 将它们提取出来。这将为您节省大量时间,这是更好的做法。

您将需要一个带有每个用户 ID 的 users 表,一个带有每个图像 ID 的图像表,以及一个记录谁对哪个图像 ID 投票的投票表。然后,您只需计算每件事的投票数,并阻止某人投票两次,您可以检查他是否已经投票!

有关更多详细信息,请参阅此答案

于 2012-08-29T12:13:39.290 回答
0
  1. 创建一个接受您的计数并存储在数据库中的 php 页面
  2. 在“opstart”函数中进行ajax调用。

你可以学习以下教程

http://net.tutsplus.com/tutorials/html-css-techniques/building-a-5-star-rating-system-with-jquery-ajax-and-php/

于 2012-08-29T12:13:45.963 回答
0

您可以使用如下表格:

var feature_form =new Ext.form.FormPanel({
        id: "featureInfo_panel",
        url: 'myfile.php',
        autoDestroy:true,
        frame: true,
        width: 410,

其中“myfile.php”指向您要从中传递/获取数据的 php 的名称。php可以轻松地从那里拖网文本文件......

于 2012-08-29T12:16:57.157 回答
0

我认为你没有合适的数据库,你只想使用文本文件来做。使用 Ajax 在文本文件中写入有关最后完成的投票计数的信息。代码看起来像这样。

代码

$.ajax(function(){
    url:"voteup.php"  //here you wrtie some function in php which takes care of file I/o
    data:{votecount:9}//last vote count
    success:function(){alert("success");}
   });   // this function should to write new votes in your text file using ajax.

现在阅读关于正文 onload 的当前投票。您已经调用了不同的 ajax 方法来读取该文本文件并获取当前的投票数..

代码

function opstart()
{
 $.ajax(function(){
        url:"getvotes.php"  //here you wrtie some function in php which takes care of file I/o

        success:function(){alert("success");}
       });   // this function should to read current votes in your text file using ajax.

}
于 2012-08-29T12:21:39.613 回答