帮忙看下PHP验证码问题出在哪里?
发布网友
发布时间:2022-05-09 20:53
我来回答
共2个回答
热心网友
时间:2023-10-19 07:00
include_once("./checknumber.php");
if($number != $login_check_number || empty($number))
{
print("校验码不正确!");
die();
}
好像不对呀,你怎么把checknumber.php给引用过来了呀。checknumber.php生成的是一个随即的注册码呀:
$login_check_number = strval(rand("1111","9999"));
每次生成的都不一样的,你这样就执行了两次checknumber.php,每次生成的注册码都不一样的,当然提示注册码错误了。
正确的方法是:
在checknumber.php中保存生成的注册码:
$_SESSION['checknumber']=$login_check_number;
当然使用session前首先session_start();一下。
然后在reg.php 中就可直接用了(别忘了session_start();哦):
if($_SESSION['checknumber']!= $_POST['usercheckcode'])
{
print("校验码不正确!");
exit();
} else{……
还有,这句话要写在入库之前,写在后面没有用的,数据已经放到数据库里了再验证校验码还有什么意义?
另外给你推荐个网站:http://www.phpchina.com
热心网友
时间:2023-10-19 07:01
楼上都说了,哈哈
这个srand(microtime() * 100000); 现在已经不用初始话了,rand()已经有这个功能了