Home >Backend Development >PHP Tutorial >Implement login verification code function through PHP_PHP tutorial
Use PHP to implement the login verification code function:
session_start();
session_register("login_check_number");
//I saw it on chianren last night After thinking about the verification code effect, I used PHP's GD library to complete a similar function
//Generate the background first, and then put the generated verification code on it
$img_height=120; //First define the image Length, width
$img_width=40;
if($HTTP_GET_VARS["act"]== "init"){
//srand(microtime() * 100000);//After PHP420, srand Not necessary
for($Tmpa=0;$Tmpa<4;$Tmpa ){
$nmsg.=dechex(rand(0,15));
}//by sports98
$HTTP_SESSION_VARS[login_check_number] = $nmsg;
//$HTTP_SESSION_VARS[login_check_number] = strval(mt_rand("1111","9999")); //Generate 4-digit random number Number, put it in the session
//Who can add, can generate letters and numbers at the same time? ? ----Completed by sports98
$aimg = imageCreate($img_height,$img_width); //Generate image
ImageColorAllocate($aimg, 255,255,255); //Picture background color, ImageColorAllocate No. 1 The first time you define a color, PHP considers it to be the background color
$black = ImageColorAllocate($aimg, 0,0,0); //Define the required black
ImageRectangle($aimg,0,0,$img_height-1 ,$img_width-1,$black);//First create a black rectangle to surround the picture
//Now it’s time to generate the snowflake background. In fact, it is to generate some symbols on the picture
for ($i =1; $i<=200; $i ) { //Use 100 for testing first
imageString($aimg,1,mt_rand(1,$img_height),mt_rand(1,$img_width),"*" ,imageColorAllocate($aimg,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255)));
//Ha, you see, it’s not actually a snowflake, it’s just a * sign. In order to make them look "messy and colorful", you have to use random numbers for their position, color, and even size when generating them one by one. This can be done with rand() or mt_rand.
}
//The background is generated above, now it’s time to put the generated random numbers. The principle is similar to the above. Random numbers are placed one by one, and their positions, sizes, and colors are all random numbers~~
//In order to distinguish it from the background, the color here does not exceed 200, and the color above does not exceed 200. Less than 200
for ($i=0;$i
}
Header("Content-type: image/png"); //Tell the browser that the following data is an image, rather than displaying it as text
ImagePng($aimg); //Generate png format . . . Hehe, the effect is quite similar. . .
ImageDestroy($aimg);
}
?>