<?php
$s1 = rand(1,9);
$s2 = rand(1,9);
if($_POST['daan']){
if($_POST['daan'] == $s1+$s2){
$txt = '正确';
}else{
$s = $s1 + $s2;
$txt = '错,正确答案是' .$s;
}
}
?>
<form id="form1" name="form1" method="post" action="">
<?=$s1?> + <?=$s2?> = <input type="input" name="daan" />
<?=isset($txt) ? $txt : '请回答'?>
<input type="submit" name="button" id="button" value="提交" />
</form>
代码如上,现在的情况是提交表单后,rand值为提交后的值,造成答案错误,请问如果做才能不覆盖上次的rand值呢?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你提交表单后, 该页面会重新刷新,
$s1和$s2会重新获取一个随机值.那解决问题的方法, 就是让它刷新的时候不改变值. 你放在
session里面就行了.刷新的时候,$_SESSION[]跟变量一样,会重新获取一个新值。