保存服务器中的变量


Save a variable from server

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

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

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

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

我发现我不能在服务器上使用javascript文件IO。

我尝试了一些PHP,但我的大多数代码都是用javascript编写的,我不知道如何从javascript函数中执行一些代码。

我有这样的想法:

<body onload="opstart();">

当主体被加载时,我调用一个javascript函数。我可以在这里调用一些PHP吗?

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

在这里面,我想从一个文本文件中读取数据,并将其加载到保存票数的变量中。

为什么要将这些值存储在文本文件中。它们应该在一个数据库中,在那里你可以很容易地用PHP提取它们。这将为你节省大量的时间是更好的练习。

您需要一个用户表,其中包含每个用户的ID,一个图像表中包含每个图像的ID,以及一个记录谁对哪个图像ID进行了投票的投票表。然后,您只需计算每个投票对象的投票数,为了阻止某人投两次票,您可以检查他是否已经投票!

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

  1. 创建一个php页面,接受您的计数并存储在数据库中
  2. 在"opstart"函数中进行ajax调用

你可以学习下面的教程

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

您可以使用如下形式:

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

其中"myfile.php"指向要传递/获取数据的php的名称和位置。php可以很容易地从那里搜索文本文件。。。。。。

我认为您没有合适的数据库,只想使用文本文件。使用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.

现在阅读当前关于身体负载的投票。您需要调用一个不同的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.
}