在刷新页面之前检查PHP中2个随机数的总和

时间:2014-01-24 22:44:14

标签: php random

我正在MODX Revo开发一个网站。我在网站上有一个表单,其中一个部分生成1到5之间的2个随机数,以及一个要求用户输入2个数字之和的框。

这一切都很好,但是当我检查他们输入的内容是否等于两个随机数时,两个随机数已经改变了(当用提交按钮刷新页面时),所以我无法检查。

我生成2个randoms,并在片段中检查这些用户输入的值

$test = $_POST['test']; // result of user input
$random1 = mt_rand(1,5);
$random2 = mt_rand(1,5);
$maths_result = $random1+$random2;
if($test != $maths_result)
        {
            // display error message here
        }

那么如何在刷新页面之前检查2个randoms的总和。任何帮助或建议将不胜感激。

由于

1 个答案:

答案 0 :(得分:0)

将随机数的总和放在会话变量中。然后您可以在下一页加载时访问它。

这是一个基本的例子:

<?php 
session_start();

if ('POST' !== $_SERVER['REQUEST_METHOD']) {
  $random1 = mt_rand(1,5);
  $random2 = mt_rand(1,5);
  $_SESSION['math_result'] = $random1+$random2;
}
else {
  $test = (int) $_POST['test'];
  if ($test !== $_SESSION['math_result']) {
    // fail
  }
}