|
我自己写了一个简单的验证码,程序如下:
function verify() {
session_start ();
session_register ( "verify_code" );
$number = mt_rand ( 10000, 99999 );
$content = preg_replace ( "/(\w)/", "\\1 ", $number );
header ( "Cache-Control: no-store, no-cache, must-revalidate" );
header ( "Cache-Control: post-check=0, pre-check=0", false );
header ( "Pragma: no-cache" );
header ( "Content-Type: image/jpeg" );
$image_x = 73;
$image_y = 26;
$im = imagecreatetruecolor ( $image_x, $image_y );
$white = ImageColorAllocate ( $im, 255, 255, 255 );
imagefill ( $im, 0, 0, $white );
for($i = 1; $i <= 100; $i ++) {
imageString ( $im, 1, mt_rand ( 1, $image_y ), mt_rand ( 1, $image_x ), "*", imageColorAllocate ( $im, mt_rand ( 200, 255 ), mt_rand ( 200, 255 ), mt_rand ( 200, 255 ) ) );
}
for($i = 0; $i < strlen ( $content ); $i ++) {
imageString ( $im, mt_rand ( 3, 5 ), $i * $image_y / 4 + mt_rand ( 2, 4 ), mt_rand ( 1, 5 ), $content [$i], imageColorAllocate ( $im, mt_rand ( 0, 100 ), mt_rand ( 0, 150 ), mt_rand ( 0, 200 ) ) );
}
ImageJPEG ( $im );
ImageDestroy ( $im );
$_SESSION ['verify_code'] = $number;
}
我在view中调用,生成的验证码图片可以显示出来,
可是我想把验证码图片对应的随机数$number保存在session中,确一直无法保存?测试打印出来什么也没有。
还有如果保存住了,怎么直接在同一个控制器的另一个方法中调用?
大家知道的可不可以帮一下我?搞了很久,还是不行,对验证码这块实在是无奈了。。。 |
|