从服务器保存变量

时间:2012-08-29 12:10:37

标签: php javascript logging

我试图让用户可以在线投票我的一些照片。

我正在用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 个答案:

答案 0 :(得分:1)

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

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

See this answer for more details

答案 1 :(得分:0)

  1. 创建一个接受计数并存储在db
  2. 中的php页面
  3. 在“opstart”函数中调用ajax。
  4. 你可以学习以下教程

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

答案 2 :(得分:0)

您可以使用以下表单:

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

其中'myfile.php'指向要传递/获取数据的php的位置。 php可以轻松地从那里搜索文本文件......

答案 3 :(得分:0)

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

CODE

$.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.

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

CODE

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.

}