php验证码问题 补充下:比如第一次到该页面当前图片上的字符串为:“TX89”,echo $_SESSION["code"]为“”刷新页面一次,生成的验证码为“zNy5”,echo $_SESSION["code"]为:"TX89" 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 正常!~把echo $_SESSION["code"]放到imagedestroy($im);$_SESSION["code"] = $str; 后面试下 我把代码改了一下,//文件名:pic.phpsession_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(4); //随机生成的字符串 $width = 300; //验证码图片的宽度 $height = 25; //验证码图片的高度 //设置页面输出的格式为image/png格式@header("Content-Type:image/png"); $_SESSION["code"] = $str; //echo $str; $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); }$_SESSION['id']=microtime();imagestring($im, 5, 7, 5,$str.' '.$_SESSION['id'], $font); imagerectangle($im,0,0,$width-1,$height-1,$font); imagepng($im); imagedestroy($im); echo $_SESSION['id'];$_SESSION["code"] = $str;//文件名:get.phpsession_start(); //include 'pic.php';//echo "this is a test";$_SESSION['id']=microtime();echo "<img src='pic.php' border=0 align='absbottom'>";//生成图片\echo '<br />';echo $_SESSION['id'];多刷新几次,你就可以看到,后一个文件get.php的时间总是在pic.php文件的时间前面;我不做结论,希望有人能够回答一下为什么 get.php代码上面贴错了,应该是session_start(); //include 'pic.php';//echo "this is a test";echo "<img src='pic.php' border=0 align='absbottom'>";//生成图片\$_SESSION['id']=microtime();echo '<br />';echo $_SESSION['id'];echo $_SESSION["code"];//输出生成验证码的值 结论是一样的 这里面应该是先执行后b.php然后才执行a.php你的代码可以这样session_start();$=$_SESSION[''];$str=$_GET['code'];$width = 50; //验证码图片的宽度 $height = 25; //验证码图片的高度 //设置页面输出的格式为image/png格式@header("Content-Type:image/png"); //echo $str; $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); }$_SESSION['id']=microtime();imagestring($im, 5, 7, 5,$str, $font); imagerectangle($im,0,0,$width-1,$height-1,$font); imagepng($im); imagedestroy($im);session_start();function random($len) { $srcstr="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; mt_srand(); $strs=""; for($i=0;$i <$len;$i++){ $strs.=$srcstr[mt_rand(0,35)]; } $_SESSION["code"] = $strs; return strtoupper($strs); }$str=random(4); //随机生成的字符串 echo "<img src='pic.php?code=$str' border=0 align='absbottom'>";//生成图片\echo $_SESSION["code"]; echo "<img src='pic.php' border=0 align='absbottom'>";引用的a.php页面。先执行的b.php页面,先输出SESSION的值,当然是上一个页面的session的值,这个echo不会影响你的工作。b.php表单提交后,session的值就会替换的 关于PHP执行exec,解压apk文件的问题 php计算优惠信息 求计算算法 谢谢 见鬼了,,真的是百思不得其解,难道是bug??? windows中php开发的项目在Linux服务器下部署提示路径错误,谁可以解决吗 关于@符号错误提示是否应该依赖。 熟悉phorum进来呀! google.com是如何搜索到我的源代码的。PHP 大家帮忙评价一下我今天新配制的机器如何,价钱合理不?谢谢 请问上传文件COPY的问题?? 怎么看怎么象有病毒的网页,没敢打开 php 写 xml 循环问题 能举例介绍php写xml基础吗?
echo $_SESSION["code"]
放到
imagedestroy($im);
$_SESSION["code"] = $str;
后面试下
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(4); //随机生成的字符串
$width = 300; //验证码图片的宽度
$height = 25; //验证码图片的高度
//设置页面输出的格式为image/png格式
@header("Content-Type:image/png");
$_SESSION["code"] = $str;
//echo $str;
$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);
}
$_SESSION['id']=microtime();
imagestring($im, 5, 7, 5,$str.' '.$_SESSION['id'], $font);
imagerectangle($im,0,0,$width-1,$height-1,$font);
imagepng($im);
imagedestroy($im);
echo $_SESSION['id'];
$_SESSION["code"] = $str;//文件名:get.php
session_start();
//include 'pic.php';
//echo "this is a test";
$_SESSION['id']=microtime();echo "<img src='pic.php' border=0 align='absbottom'>";//生成图片\
echo '<br />';
echo $_SESSION['id'];
多刷新几次,你就可以看到,后一个文件get.php的时间总是在pic.php文件的时间前面;我不做结论,希望有人能够回答一下为什么
//include 'pic.php';
//echo "this is a test";
echo "<img src='pic.php' border=0 align='absbottom'>";//生成图片\
$_SESSION['id']=microtime();
echo '<br />';
echo $_SESSION['id'];
echo $_SESSION["code"];//输出生成验证码的值
结论是一样的
$=$_SESSION[''];
$str=$_GET['code'];
$width = 50; //验证码图片的宽度
$height = 25; //验证码图片的高度
//设置页面输出的格式为image/png格式
@header("Content-Type:image/png"); //echo $str;
$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);
}
$_SESSION['id']=microtime();
imagestring($im, 5, 7, 5,$str, $font);
imagerectangle($im,0,0,$width-1,$height-1,$font);
imagepng($im);
imagedestroy($im);session_start();
function random($len)
{
$srcstr="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
mt_srand();
$strs="";
for($i=0;$i <$len;$i++){
$strs.=$srcstr[mt_rand(0,35)];
}
$_SESSION["code"] = $strs;
return strtoupper($strs);
}
$str=random(4); //随机生成的字符串
echo "<img src='pic.php?code=$str' border=0 align='absbottom'>";//生成图片\
echo $_SESSION["code"];