在PHP表单上使用$ _SESSION反垃圾邮件

时间:2015-11-16 18:57:15

标签: php session

我希望跨会话保存值。我有这个函数来生成新值。

function generateFieldNumber($min = 1, $max = 3)
{
     return rand(1, 3);
}

function createCaptcha() {
    global $user_result, $arg_1, $arg_2, $total;

 if(isset($_POST['submit'])) {

      $arg_1 = $_POST['arg_one'];
      $arg_2 = $_POST['arg_two'];
      $user_result = $_POST['result'];

      $total = $arg_1 + $arg_2;
 }
}

和HTML:

<input type="text" name="arg_one" value="<?php echo generateFieldNumber();?>"   size="2">
    + <input type="text" name="arg_two" value="<?php echo generateFieldNumber();?>"  size="2">
    = <input type="text" name="result" value="<?php echo $user_result;?>"  size="2"><br>

如何?

2 个答案:

答案 0 :(得分:1)

设置$_SESSION['value'] = $total;并将$_SESSION['value']的内容与后续脚本中用户提供的值进行比较。

答案 1 :(得分:0)

您只需在$ _SESSION中设置值,您需要检查用户结果和会话结果。

示例:

session_start();
$_SESSION['total_value'] = $total;

if($_POST['result'] == $_SESSION['total_value){
   echo "OK";
}
相关问题