限制页面刷新后停止rand()代码

时间:2013-09-14 07:31:12

标签: php mysql random

我正在使用一个代码,该代码使用ORDER BY RAND()LIMIT 1从数据库生成一个随机单词(不是很多行,所以运行正常)。是否有可能,使用php,只允许用户刷新页面几次(通过手动点击刷新或使用表单['submit']按钮),然后停止随机函数,使其设置为最后一个值?

我知道我可以使用会话/ cookie计算页面访问/刷新次数,但我不知道如何停止代码运行。

3 个答案:

答案 0 :(得分:0)

IF语句就足够了

IF(pagecount< 3)

{

  Execute code

}

ELSE

{

   Don't execute code

}

答案 1 :(得分:0)

几乎没有答案,但评论的时间太长了 - 你到底得到的是什么?

<?php session_start();

// ...

if(!isset($_SESSION['myCounter'])) 
    $_SESSION['myCounter'] = 0;

if($_SESSION['myCounter'] < $myLimit){
    $_SESSION['myCounter']++;
    // Do random DB query 
    $_SESSION['lastResult'] = $dbResult;
}

// Do something with result
echo $_SESSION['lastResult'];

// ...

manual pages ...

上甚至有例子

答案 2 :(得分:0)

使用会话$_SESSION['runRand'] = 1;

在PHP脚本上设置一个标志

仅当上述变量设置为 1 时,才运行随机字db代码。

因此,当用户第一次运行此脚本时......

将从DB生成的第一个随机单词存储到会话变量中,如$_SESSION['firstRand']=$randNum;

因此,当用户单击刷新按钮或提交时,PHP脚本将再次加载并生成一个新的随机单词,现在不存储该单词,只需将其与会话变量进行比较即可$_SESSION['firstRand'];

当用户继续点击刷新并再次执行相同的过程时,随机单词将与$ _SESSION ['firstRand']匹配; ,那时设置会话变量 $_SESSION['runRand'] = 0; 。现在,即使用户按下刷新按钮,也不会生成来自DB的随机代码。