欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

帮我看一下哪里错了,怎么输都是显示输入错误

程序员文章站 2022-05-20 10:39:31
...








验证码:
require('03.php');
?>

提交

if(isset($_POST['submit']))
{
session_start();
$checkstr=$_SESSION['yzm']; //使用$_SESSION变量获取EX4_14_image.php页面上的验证码
$str=$_POST['check']; //用户输入的字符串
if(strcasecmp($str,$checkstr)==0) //不区分大小写进行比较
echo "";
else
echo "";
}
?>





03.php
session_start();
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;
?>


回复讨论(解决方案)

你在程序文件的开始处 和 接收提交的代码段中打印出 $_SESSION['yzm'] 和 $_POST['check'] 就会知道问题的所在了

require('03.php'); //产生验证码,并保存于 $_SESSION
而 $checkstr=$_SESSION['yzm']; //使用$_SESSION变量获取EX4_14_image.php页面上的验证码
总是在其后运行,显然获得的只是最新设置的内容

要怎么改呢?