如何将rand()值存储在会话变量中,而不在下次执行时覆盖它

时间:2019-04-25 10:00:06

标签: php


我正在为客户端编写一些演示Web应用程序,我需要一个文章生成器,它将使用会话变量_article_id作为存储的整数值来从MySQL数据库中选择当天的“最重要”文章。

我在rand(1,99)内运行$_SESSION['_article_id'],但值似乎正在改变,因为它在每个新请求上都一遍又一遍地执行该函数。

如何将rand()输出存储到变量中,以便在会话期间保持不变?

谢谢。

2 个答案:

答案 0 :(得分:5)

也许检查是否设置了此变量?

Step 1: Create a project's folder
Step 2: Configure PHP version
Step 3: Composer distribution package
Step 4: Create FIRST_INSTALL file
Step 5: TYPO3 Installation Wizard
Step 6: Composer.json, Setup private and public folders
Step 7: Secure your TYPO3 with folder structure private and public
Step 7: ddev composer require helhum/typo3-secure-web

https://www.php.net/isset

答案 1 :(得分:1)

function generatePIN($digits = 4)
    {
        $i = 0; //counter
        $pin = ""; //our default pin is blank.
        while($i < $digits){
            //generate a random number between 0 and 9.
            $pin .= mt_rand(0, 9);
            $i++;
        }
        return $pin;
    }
if (!isset($_SESSION['_article_id'])){
$_SESSION['_article_id'] = generatePIN();
}