<br> function check(){ <br> var psw1=document.getElementById("psw1"); <br> var psw2=document.getElementById("psw2"); <br> if(psw1.value!=psw2.value) <br> psw2.setCustomValidity("两次密码不一致"); <br> return false; <br> } <br> 登录|注册 欢迎注册 用户名  : 密  码  : 确认密码: 邮  箱  : placeholder="请输入正确的邮箱格式" name="email"> 验证码  : require('03.php'); ?> 我已阅读并同意该协议 《book》条款 002.php if(isset($_POST['submit'])) { $checkstr = $_SESSION['yzm'] ; // $_SESSION 変数を使用して 03.php ページの検証コードを取得します $str = $_POST['check'] // ユーザーが入力した文字列 if (strcasecmp($str, $checkstr) != 0) //比較では大文字と小文字は区別されません using using using using using using using through using ‐ ’ ‐ ‐ward‐off‐大文字と小文字を区別しない 123456"); mysql_query("名前を設定 'utf8 '"); mysql_select_db("book", $conn); $username = $_POST["username"]; パスワード = $_POST["psw1"] ; $email $_POST["email"]; = ($ sql); if ($result) { session_start(); $_SESSION['ユーザー名'] = $ユーザー名; <br> アラート ('登録成功' ); <br> location.href='login.php' <br> <br> <br> <br> 03.php <br><?php <br>function a($type, $length,$clear){ <br> $nums=range (0,9); <br> $xxzm=range('a','z'); <br> $igorne=array('0','o', '1','l'); <br> $chars=array(); <br> if($type= =1) <br> $ xxxm,$dxzm); <br> if($clear==true) <br> $chars=array_diff($chars,$igorne); <br> $keys=array_rand($chars,$length); <br> foreach($keys として) <br> $code=$code.$chars [$key]; <br> $code; <br>$_SESSION['yzm'] =$yzm; <br> <br> <br> ; <br> <br> <br> <br> <br> <br> <br> <br> ディスカッションへの返信 (解決策)<br> <br> if(psw1.value!=psw2.value) <br> psw2.setCustomValidity(" 2 つのパスワードが矛盾しています "); <br> Return false; <br> {} はありませんか? JSを使うのは久しぶりなのであまり覚えていません。 <br> <br> js コードは正しいですが、問題は確認コードの検証にあります。 <br> <br> 03.php には session_start() がありません <br> <br> 検証は正しいですが、警告: セッションは既に開始されています - 002.php の session_star() は無視されます <br> これはなぜですか?</p> <p class="sougouAnswer"> 警告は、session_start の時点でセッションがすでに開始されているため、2 回目はスキップされます <br> つまり、2 つの session_start に対して 1 つのプロセスが実行されます <br> 理由は、スクリプト 2 に 2 つの session_start があるためです。 2つ目</p>