【问题标题】:Save a variable from server从服务器保存变量
【发布时间】:2012-08-24 01:02:53
【问题描述】:

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

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

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

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

我发现我无法在我的服务器上使用 javascript fileIO。

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

我有这样的想法:

<body onload="opstart();">

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

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

}

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

【问题讨论】:

标签: php javascript logging


【解决方案1】:

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

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

See this answer for more details

【讨论】:

  • 如果这是一个小的 OP 副项目,那么,有时,拥有一个大型数据库是很麻烦的。对于一个网站点击率不高的简单解决方案,平面文件也是一个很好的解决方案! (更少的 CPU 负载和代码行数)
【解决方案2】:
  1. 创建一个接受您的计数并存储在数据库中的 php 页面
  2. 在“opstart”函数中进行 ajax 调用。

你可以学习以下教程

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

【讨论】:

  • 如果页面正在刷新,这种情况下不需要ajax。
  • 根据问题,点击提交投票按钮时页面不会刷新
  • @fluty 你在说什么,我引用,Then when he uses refreshes the page, I want to keep the vote, so it will still say 1, instead of resetting to zero. My question is, how can I do this?
【解决方案3】:

您可以使用如下形式:

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

'myfile.php' 指向你想要传递/获取数据的 php 位置的名称。 php可以轻松地从那里拖网文本文件......

【讨论】:

    【解决方案4】:

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

    【讨论】:

    • 我没有选择如何保存数据,因为这个包含html、php和javascript的字段对我来说非常陌生。但是数据库听起来是个好主意。我会试着调查一下,谢谢。
    猜你喜欢
    • 2022-01-25
    • 2016-10-23
    • 2020-09-27
    • 2021-05-30
    • 2021-01-26
    • 1970-01-01
    • 1970-01-01
    • 2023-02-14
    • 1970-01-01
    相关资源
    最近更新 更多