Maison >développement back-end >Problème PHP >Comment implémenter la relecture en php
Comment implémenter la vérification en PHP : 1. Déclarez la fonction "session_start();" 2. Créez le code pour implémenter le code de vérification ; 3. Déclarez une variable vide avant que le code de vérification ne soit implémenté pour stocker le code de vérification ; 4. Utilisez simplement la méthode POST pour recevoir le code de vérification.
L'environnement d'exploitation de cet article : système Windows 7, PHP7.1, ordinateur Dell G3.
Comment implémenter la vérification en PHP ?
PHP implémente la fonction de vérification du code de vérification
La vérification du code de vérification est implémentée à l'aide de la fonction SESSION en PHP.
Déclarez la fonction session_start(); en haut pour indiquer 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" style="max-width:90%" style="max-width:90%" alt="Comment implémenter la relecture en php" ></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>
Voici une explication spéciale selon laquelle un événement onclick a été ajouté au code HTML. Lorsque l'utilisateur ne peut pas reconnaître le code de vérification actuel, il peut modifier le code de vérification sans actualiser le navigateur en cliquant sur "Impossible de voir clairement". ? Changez-en un autre".
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!