Maison >développement back-end >tutoriel php >PHP implémente la fonction de code de vérification de connexion
Cet article présente principalement la fonction d'écriture du code de vérification de connexion en PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Déclarez la fonction session_start() en haut ; indiquez au serveur que nous souhaitons utiliser cette fonction.
session_start();
La prochaine chose que nous utilisons est le code pour implémenter le code de vérification. Ici, nous utilisons les codes numériques anglais comme exemple.
$image = imagecreatetruecolor(100, 30); //创建一个100×30的画布 $white = imagecolorallocate($image,255,255,255);//白色 imagefill($image,0,0,$white);//覆盖黑色画布
Déclarez ensuite une variable vide avant que le code de vérification ne soit implémenté pour stocker le code de vérification.
$session = ""; //空变量 ,存放验证码 for($i=0;$i<4;$i++){ $size = 6; $x = $i*25+mt_rand(5,10); $y = mt_rand(5,10); $sizi_color = imagecolorallocate($image,mt_rand(80,220),mt_rand(80,220),mt_rand(80,220)); $char = join("",array_merge(range('a','z'),range('A','Z'),range(0,9))); $char = str_shuffle($char); $char = substr($char,0,1); imagestring($image,$size,$x,$y,$char,$sizi_color); $session .= $char ; //把验证码的每一个值赋值给变量 } $_SESSION['session'] = $session; //这个变量的值与用户输入的值相等
for($k=0;$k<200;$k++){ $rand_color = imagecolorallocate($image,mt_rand(50,200),mt_rand(50,200),mt_rand(50,200)); imagesetpixel($image,mt_rand(1,99),mt_rand(1,29),$rand_color); } for($n=0;$n<5;$n++){ $line_color = imagecolorallocate($image,mt_rand(80,220),mt_rand(80,220),mt_rand(80,220)); imageline($image,mt_rand(1,99),mt_rand(1,29),mt_rand(1,99),mt_rand(1,29),$line_color); } header('content-type:image/png');//设置文件输出格式 imagepng( $image ); //以png格式输出$image图像 imagedestroy( $image ); //销毁图像
Utilisez la méthode POST pour recevoir le code de vérification. La fonction strtolower rend le serveur insensible à la casse. Cela peut réduire efficacement le taux d'erreur de saisie de l'utilisateur.
if(isset($_POST['session'])){ session_start(); if(strtolower($_POST['session'])==strtolower($_SESSION['session'])){ echo'<font color="#0000CC">输入正确</form>'; }else{ echo '<font color="#CC0000"><b>输入错误</b></font>'; } exit(); }
Ce qui suit est le code de la page HTML.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>确认验证码</title> </head> <body> <form method="post" action="./tushu.php"> <p>验证码图片:<img id="img" border="1" src="http://localhost//xxx.php" width="100" height="30"></p> <a href="javascript:void(0)" rel="external nofollow" onclick="document.getElementById('img').src='http://localhost//xxx.php'">看不清?换一个</a> <p>请输入图片中的验证码:<input type="text" name="session" value=""/></p> <p><input type="submit" value="提交" style="padding:6px 10px;"></p> </form> </body> </html>
Recommandations associées :
Fonction de code de vérification de connexion d'écriture PHP avec méthode d'appel
Code d'implémentation du code de vérification de connexion Java
MVC utilise JiVerification pour créer des codes de vérification de connexion
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!