create_code.php
<?php
session_start();
header( "Content-type: image/png" );
$str = "1,2,3,4,5,6,7,8,9,a,b,c,d,f,g" ;
$list = explode ( "," , $str );
$cmax = count ( $list ) - 1;
$verifyCode = '' ;
for ( $i =0; $i < 5; $i ++ ){
$randnum = mt_rand(0, $cmax );
$verifyCode .= $list [ $randnum ];
}
$_SESSION [ 'code' ] = $verifyCode ;
$im = imagecreate(58,28);
$black = imagecolorallocate( $im , 0,0,0);
$white = imagecolorallocate( $im , 255,255,255);
$gray = imagecolorallocate( $im , 200,200,200);
$red = imagecolorallocate( $im , 255, 0, 0);
imagefill( $im ,0,0, $white );
imagestring( $im , 5, 10, 8, $verifyCode , $black );
for ( $i =0; $i <50; $i ++)
{
imagesetpixel( $im , rand()p , rand()0 , $black );
imagesetpixel( $im , rand()p , rand()0 , $red );
imagesetpixel( $im , rand()p , rand()0 , $gray );
}
imagepng( $im );
imagedestroy( $im );
?>
引用
demo.html
<!-- DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www./DTD/xhtml-mobile10.dtd" -->
<html xmlns= "http://www./1999/xhtml" >
<head>
<meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form action= "act.php" method= "post" >
<input type= "text" name= "code" />
<img id= "code" src= "create_code.php" alt= "看不清楚,换一张" style= "cursor: pointer; vertical-align:middle;" onClick= "create_code()" />
<!--<button type= "button" onClick= "create_code()" >更换</button>-->
<button type= "submit" >提交</button>
</form>
<script>
function create_code(){
document.getElementByIdx_x( 'code' ).src = 'create_code.php?' +Math.random()*10000;
}
</script>
</body>
</html>
act.php
<?php
session_start();
if ( $_POST [ 'code' ] == $_SESSION [ 'code' ]){
echo 'ok' ;
} else {
echo 'no' ;
}
?>
|