关于验证码的问题

liangpei2008 2009-06-05 03:19:36
authorizationnum.php为验证码生成文件,随机生成一批数字,并把其放到session变量中

//a.php
<form action='b.php'>
<img src="authorizationnum.php" border=0 align="bottom">
<input name="verifycode" type="text" size="5" maxlength="4"/>
<input name="OrderNow" type="submit" />
</form>



b.php
echo session变量//这里显示的总是上一次的验证码,不知怎么回事!请大侠们指导一下
...全文
44 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序猿之殇 2009-06-05
  • 打赏
  • 举报
回复
  header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

authorizationnum.php
liangpei2008 2009-06-05
  • 打赏
  • 举报
回复
唠叨大哥,您的方法不行!
我有一个验证码生成类,在生成相应数字后,我就将其赋给session进行保存,而后在用户添写完验证码时使其与session值做比较,通过我的跟踪发现,验证码总是上次生成的!
yemingwy 2009-06-05
  • 打赏
  • 举报
回复
authorizationnum.php最上面加上这么几行。

header("Expires: Mon, 26 Mar 1997 06 26 05:00:00 GMT");
header("Last-Modified: ".gmdate("D,d M Y H:i:s")." GMT");
header("Cache-control: no-cache, must-revalidate");
header("Pragma: no-cache");
junp2007 2009-06-05
  • 打赏
  • 举报
回复
是不是还没生成图片就将sesseion输出了。
xuzuning 2009-06-05
  • 打赏
  • 举报
回复
给url加个随机参数
//a.php
<form action='b.php'>
<img src="authorizationnum.php?<?php echo rand(); ?>" border=0 align="bottom">
<input name="verifycode" type="text" size="5" maxlength="4"/>
<input name="OrderNow" type="submit" />
</form>

haigou20 2009-06-05
  • 打赏
  • 举报
回复
这个也是个验证码,看看是否能帮助你
<?php
/* AkoBook AutoScript-Protection
*
* @author: Dominik Paulus, mail@dpaulus.de
* 25.03.2005
*/

session_start('akobookcode');
session_register('code');

mt_srand((double)microtime()*1000000);
// Numerical code
$seccode = mt_rand(10000, 99999);
/* // Code with chars. But difficult to read.
$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$seccode = "";
for($i = 0; $i < 5; $i++)
$seccode .= $chars[mt_rand(0, 35)];
*/
$_SESSION['code'] = $seccode;
echo $seccode;
exit();
// create image
header("Content-Type: image/png");
$im = imagecreate(60, 18) or die('Image create error!');

// Image colors
// imagecolorallocate($im, R, G, B) Only change R,G,B!
$bgcolor = imagecolorallocate($im, 255, 255, 255);
$fontcolor = imagecolorallocate($im, 150, 150, 150);
$linecolor = imagecolorallocate($im, 255, 255, 255);
$bordercolor = imagecolorallocate($im, 150, 150, 150);
// Grid
for($x=10; $x <= 100; $x+=10)
imageline($im, $x, 0, $x, 50, $linecolor);
// Middleline
imageline($im, 0, 9, 100, 9, $linecolor);
// Border
imageline($im, 0, 0, 0, 50, $bordercolor);
imageline($im, 0, 0, 100, 0, $bordercolor);
imageline($im, 0, 17, 100, 17, $bordercolor);
imageline($im, 59, 0, 59, 17, $bordercolor);

imagestring($im, 5, 8, 1, $seccode, $fontcolor);
imagepng($im);
imagedestroy($im);
?>

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧