Home > Article > Backend Development > PHP验证码 @符号
求助 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 "验证码错误"; } } ?>
for($i=0;$i<font color="#e78608">------解决方案--------------------</font><br>$rand.=<br><br>这个变量无赋值的情况使用,所以导致notice错误,图像是二进制,notice是文本,二者混合自然导致图片无法显示。<br><br>解决办法:<br>先给$rand赋值<br><br>$rand='';<br><br> <br><font color="#e78608">------解决方案--------------------</font><br>
session_start(); $rand = ''; for($i=0;$i<font color="#e78608">------解决方案--------------------</font><br>