- 论坛徽章:
- 0
|
有两个php文件a.php 及 b.php如下
a.php
- <?php
- session_start();
- function random($len)
- {
- $srcstr="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
- mt_srand();
- $strs="";
- for($i=0;$i<$len;$i++){
- $strs.=$srcstr[mt_rand(0,35)];
- }
- return strtoupper($strs);
- }
- $str=random(6);
- $_SESSION['code'] = $str;
- $_SESSION['test'] = session_id();
- $width = 68;
- $height = 25;
- @header("Content-Type:image/png");
- $im=imagecreate($width,$height);
- $back=imagecolorallocate($im,0xFF,0xFF,0xFF);
- $pix=imagecolorallocate($im,187,230,247);
- $font=imagecolorallocate($im,41,163,238);
- mt_srand();
- for($i=0;$i<1000;$i++)
- {
- imagesetpixel($im,mt_rand(0,$width),mt_rand(0,$height),$pix);
- }
- imagestring($im, 5, 7, 5,$str, $font);
- imagerectangle($im,0,0,$width-1,$height-1,$font);
- imagepng($im);
- imagedestroy($im);
- ?>
复制代码
b.php
- <?php
- session_start();
- echo "<img src=a.php border=0 align=absbottom>";
- echo "</br>session code= " . $_SESSION['code'];
- ?>
复制代码
执行http://localhost/b.php时显示的验证码总是前一次的值,不知道是什么问题。
比如,打开刷新两次后分别显示如下:
![]()
![]() |
|