$s1 = rand(1,9); $s2 = rand(1,9); if($_POST['daan']){ if($_POST['daan'] == $s1+$s2){ $txt = '正确'; }else{ $s = $s1 + $s2; $txt = '错,正确答案是' .$s; } } 로그인 후 복사로그인 후 복사 ?> =$s1?> + =$s2?> = =isset($txt) ? $txt : '请回答'?> 로그인 후 복사로그인 후 복사 양식> 코드는 위와 같습니다. 현재 상황은 양식을 제출한 후 rand 값이 제출 후의 값이기 때문에 마지막 rand 값을 덮어쓰지 않으려면 어떻게 해야 합니까? 답글 내용: $s1 = rand(1,9); $s2 = rand(1,9); if($_POST['daan']){ if($_POST['daan'] == $s1+$s2){ $txt = '正确'; }else{ $s = $s1 + $s2; $txt = '错,正确答案是' .$s; } } 로그인 후 복사로그인 후 복사 ?> =$s1?> + =$s2?> = =isset($txt) ? $txt : '请回答'?> 로그인 후 복사로그인 후 복사 양식> 코드는 위와 같습니다. 현재 상황은 양식을 제출한 후 rand 값이 제출 후의 값이기 때문에 마지막 rand 값을 덮어쓰지 않으려면 어떻게 해야 합니까? session_start(); if($_POST['daan']){ if($_POST['daan'] == $_SESSION['result']){ $txt = '正确'; }else{ $txt = '错,正确答案是' .$_SESSION['result']; } }else{ $s1 = rand(1,9); $s2 = rand(1,9); $_SESSION['result'] = $s1 + $s2; }로그인 후 복사 양식을 제출하면 페이지가 다시 새로 고쳐지고 $s1 및 $s2이 임의의 값을 다시 가져옵니다. 문제를 해결하는 방법은 새로 고칠 때 값을 변경하지 않는 것입니다. .session그냥 들어가세요. session_start(); $s1 = $_SESSION['s1'] = rand(1, 9); $s2 = $_SESSION['s2'] = rand(1, 9); //然后下面的判断用$_SESSION的值就行了로그인 후 복사 새로 고침 시 $_SESSION[]은 변수와 마찬가지로 새 값을 가져옵니다.