问题:怎样能将图片中的验证码储存起来用于后期的验证?
verficode.php 页面
ob_clean();
for($i=0;$i<4;$i++){
$num.=dechex(rand(0,15));
}
$num=substr($num,-4,4);
$nowimage=imagecreate(100,30);
imagecolorallocate($nowimage,240,240,240);
for($i=0;$i
$x=mt_rand(1,8)+100*$i/4;
$y=mt_rand(1,50/4);
$color=imagecolorallocate($nowimage,rand(0,150),rand(0,150),rand(0,150));
imagestring($nowimage,$font,$x,$y,$num[$i],$color);
}
for($i=0;$i<200;$i++){
$randcolor=imagecolorallocate($nowimage,rand(200,255),rand(200,255),rand(200,255));
imagesetpixel($nowimage,rand()%70,rand()%20,$randcolor);
}
header("content-type:image/png");
imagepng($nowimage);
imagedestroy($nowimage);
?>
index.php 页面
必要に応じてクラスを直接インスタンス化できます。
session_start(); という文を追加しました。 ;//
}else{// ではありませんmatch
}#5
ただし、index.php ページで受け入れられる $_SESSION['captcha'] のデータと検証コードによって表示されるデータは同期されていません (一歩遅い)
検証コードのインデックス。 php で受信した検証コードは、verficode.php ページで受信した検証コードよりも 1 ステップ遅いです
これを 1 ステップ遅いといいますか?
Index.php は verficode.php より前に実行されます。1 ステップ遅いのは正常です
そこで、zf は検証コードの画像を保存するというソリューションを採用しました
それは数日前にここで議論されたばかりです、探してください
わかりました、ありがとう