• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

帮我看一下,着么输都是验证码错误!

php 搞代码 4年前 (2022-01-23) 9次浏览 已收录 0个评论
文章目录[隐藏]

<meta charset=”UTF-8″>

<link href=”my.css” type=”text/css” rel=”stylesheet”>

<script>
function check(){
var psw1=document.getElementById(“psw1”);
var psw2=document.getElementById(“psw2”);
if(psw1.value!=psw2.value)
psw2.setCustomValidity(“两次密码不一致”);
return false;
}
</script>

<body>

登录|注册

欢迎注册

用户名&nbsp&nbsp:

密&nbsp&nbsp码&nbsp&nbsp:

确认密码:

邮&nbsp&nbsp箱&nbsp&nbsp:<input type="email" required="true"
placeholder=”请输入正确的邮箱格式” name=”email”>

验证码&nbsp&nbsp:


<?php
require(’03.php’);
?>

我已阅读并同意该协议
《book》条款

002.php
<?php
if(isset($_POST[‘submit’])) {
sessi!本文来源gaodai#ma#com搞*!代#%^码网5

搞gaodaima代码

on_start();
$checkstr = $_SESSION[‘yzm’]; //使用$_SESSION变量获取03.php页面上的验证码
$str = $_POST[‘check’]; //用户输入的字符串
if (strcasecmp($str, $checkstr) != 0) //不区分大小写进行比较
echo “<script>alert(‘验证码错误!’);</script>”;
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(”
<script type=’text/javascript’>
alert(‘注册成功’);
location.href=’login.php’;
</script>
“);
}
}
}
else echo”非法访问”;
?>

03.php
<?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,把第二个删掉就行了


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:帮我看一下,着么输都是验证码错误!

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址