帮我看一下,着么输都是验证码错误! 程序员文章站 2022-05-09 16:53:33 ... 登录|注册 欢迎注册 用户名  : 密  码  : 确认密码: 邮  箱  : placeholder="请输入正确的邮箱格式" name="email"> 验证码  : require('03.php'); ?> 我已阅读并同意该协议 《book》条款 002.php if(isset($_POST['submit'])) { session_start(); $checkstr = $_SESSION['yzm']; //使用$_SESSION变量获取03.php页面上的验证码 $str = $_POST['check']; //用户输入的字符串 if (strcasecmp($str, $checkstr) != 0) //不区分大小写进行比较 echo ""; else { $conn = mysql_connect("localhost", "root", "123456"); mysql_query("set names 'utf8'"); mysql_select_db("book", $conn); $username = $_POST["username"]; $password = $_POST["psw1"]; $email = $_POST["email"]; $sql = "insert into register(username,password,email) VALUES ('$username','$password','$email')"; $result = mysql_query($sql); if ($result) { session_start(); $_SESSION['username'] = $username; print(" "); } } } else echo"非法访问"; ?> 03.php function a($type, $length ,$clear){ $nums=range(0,9); $xxzm=range('a','z'); $dxzm=range('A','Z'); $igorne=array('0','o','1','l'); $chars=array(); if($type==1) $chars=$nums; if($type==2) $chars=array_merge($nums,$xxzm); if($type==3) $chars=array_merge($nums,$xxzm,$dxzm); if($clear==true) $chars=array_diff($chars,$igorne); $keys=array_rand($chars,$length); $code=""; foreach($keys as $key) $code=$code.$chars[$key]; return $code; } $yzm=a(3,5,true); $_SESSION['yzm']=$yzm; echo $yzm; ?> 回复讨论(解决方案) if(psw1.value!=psw2.value) psw2.setCustomValidity("两次密码不一致"); return false; 没有{ }?好久没用JS不太记得了。 js的代码是没错的,问题是出在验证码的验证上! 03.php 中没有 session_start(); 虽然验证是对了,但是出来了个警告Notice:A session had already been started -ignoring session_star( ) in 002.php 这又是什么原因呢 警告是说session_start的时候session已经start了,所以第二次跳过了 也就是说一次流程执行到了两次session_start 原因就是脚本2里有两个session_start,把第二个删掉就行了 相关标签: 帮我看一下,着么输都是验证码错误! 上一篇: PHP Fatal error: Call to undefined function bcmul() 下一篇: 关系数据库和十样事物不能混为一谈 推荐阅读 帮我看一下哪里错了,怎么输都是显示输入错误 帮我看一下,着么输都是验证码错误! 帮我看一下哪里错了,怎么输都是显示输入错误