ヘルプ PHP 確認コード@シンボル
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> <?php session_start(); for($i=0;$i<4;$i++){ @$rand.=dechex(rand(1,15));//前面的这个@符号要是不加,图片就显示不出来。 } @$_SESSION[check_pic]=$rand; //前面的@符号要是去掉的话这个就会报错 而且全是乱码。 $im=imagecreatetruecolor(100,30); $bg=imagecolorallocate($im,0,0,0); $te=imagecolorallocate($im,255,255,255); imagestring($im,5,0,0,$rand,$te); header("content-type:image/jpeg"); imagejpeg($im); ?>
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> <?php session_start(); if($_POST[code]){ if($_POST[code]==$_SESSION[check_pic]){ echo "验证码正确:".$_SESSION[check_pic]; } else { echo "验证码错误"; } } ?> <form action="" method="post"> <img src="code.php"><br> 验证码:<input type="text" name="code"> <input type="submit" value="提交"> </form>
for($i=0;$i<font color="#e78608">------解決策---------</font><br>$rand.=<br><br> これ変数を代入せずに使用すると、通知エラーが発生します。画像はバイナリで、通知はテキストです。この 2 つを混在させると、当然画像は表示されません。 <br><br>解決策: <br>最初に $rand に値を割り当てます<br><br>$rand='';<br><br> <br><font color="#e78608">------解決策---------</font><br>
セッション開始(); $rand = ''; for($i=0;$i<font color="#e78608">------解決策---------</font><br>