Maison développement back-end tutoriel php PHP GD 生成图片验证码+session获取存储验证码

PHP GD 生成图片验证码+session获取存储验证码

Jun 13, 2016 pm 12:01 PM
gt image lt quot rand

PHP GD 生成图片验证码+session获取储存验证码

    下面分享一个PHP制作的图片验证码案例:案例如下图:


   运用PHP GD详细请看:http://www.php.net/manual/zh/book.image.php

   后台图片代码如下:

 

<?phpsession_start ();$image = imagecreatetruecolor(100,30);//创建一个宽100,高度30的图片$bgcolor=imagecolorallocate($image,255,255,255);//图片背景是白色imagefill($image,0,0,$bgcolor);//图片填充白色//随机数/**for($i=0;$i<4;$i++){  $fontsize=6;  $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));  $fontcontent=rand(0,9);  $x=($i*100/4)+ rand(5,10);  $y=rand(5,10);  imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);}**///随机数据$captch_code=&#39;&#39;;for($i=0;$i<4;$i++){  $fontsize=6;  $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));  $data=&#39;asdfdfglfg74erf21854hgfhgfhkg4ljkghjtrtywiqpoqpwepdfgvnjytyut12313345645667686797800&#39;;  $fontcontent=substr($data,rand(0,strlen($data)),1);  $captch_code.=$fontcontent;    $x=($i*100/4)+ rand(5,10);  $y=rand(5,10);  imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);}$_SESSION[&#39;authcode&#39;]=$captch_code;//随机点for($i=0;$i<200;$i++){  $pointcolor=imagecolorallocate($image,rand(50,120),rand(50,120),rand(50,120));  imagesetpixel($image,rand(1,99),rand(1,99),$pointcolor);}//随机线for($i=0;$i<3;$i++){  $linecolor=imagecolorallocate($image,rand(80,220),rand(80,220),rand(80,220));  imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);}header("content-type:image/png");imagepng($image);imagedestory($image);?>
Copier après la connexion

前台代码如下:

<?php if(isset($_REQUEST[&#39;autocode&#39;])){      session_start();	  if(strtolower($_POST[&#39;autocode&#39;]) == $_SESSION[&#39;authcode&#39;]){	   echo &#39;正确&#39;;	  }else{	  echo&#39;错误&#39;;	  }      exit();   }?>     <meta chartset="utf-8">         
Copier après la connexion

验证码图片:PHP GD 生成图片验证码+session获取存储验证码 width="100" style="max-width:90%" />

输入内容:


添加点击执行修改如下即可:

  <p>验证码图片:<img  src="/static/imghw/default1.png" data-src="captcha.php?r=" class="lazy" border="1" id="capthcha_img" onclick="this.src='captcha.php?r='+Math.random()" echo rand alt="PHP GD 生成图片验证码+session获取存储验证码" > width="100"    style="max-width:90%"  /> <a href="javascript:void(0)" onclick="document.getElementById('capthcha_img').src='captcha.php?r='+Math.random()">换一个</a></p>
Copier après la connexion


本案例原创,转载请注明!

  

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelles sont les différences entre Huawei GT3 Pro et GT4 ? Quelles sont les différences entre Huawei GT3 Pro et GT4 ? Dec 29, 2023 pm 02:27 PM

De nombreux utilisateurs choisiront la marque Huawei lors du choix des montres intelligentes. Parmi eux, les Huawei GT3pro et GT4 sont des choix très populaires. De nombreux utilisateurs sont curieux de connaître la différence entre Huawei GT3pro et GT4. Quelles sont les différences entre Huawei GT3pro et GT4 ? 1. Apparence GT4 : 46 mm et 41 mm, le matériau est un miroir en verre + un corps en acier inoxydable + une coque arrière en fibre haute résolution. GT3pro : 46,6 mm et 42,9 mm, le matériau est du verre saphir + corps en titane/corps en céramique + coque arrière en céramique 2. GT4 sain : en utilisant le dernier algorithme Huawei Truseen5.5+, les résultats seront plus précis. GT3pro : ajout d'un électrocardiogramme ECG, d'un vaisseau sanguin et de la sécurité

Comment résoudre l'erreur « undéfini : rand.Seed » dans Golang ? Comment résoudre l'erreur « undéfini : rand.Seed » dans Golang ? Jun 25, 2023 am 08:34 AM

Pendant le processus de développement ou d'apprentissage de l'utilisation de Golang, nous pouvons rencontrer le message d'erreur undefined:rand.Seed. Cette erreur se produit généralement lorsque vous devez utiliser un générateur de nombres aléatoires, car dans Golang, vous devez définir une valeur de départ de nombres aléatoires avant de pouvoir utiliser la fonction du package rand. Cet article explique comment résoudre cette erreur. 1. Présentez le package math/rand. Tout d’abord, nous devons introduire le package math/rand dans le code. exister

Correctif : l'outil de capture ne fonctionne pas sous Windows 11 Correctif : l'outil de capture ne fonctionne pas sous Windows 11 Aug 24, 2023 am 09:48 AM

Pourquoi l'outil Snipping ne fonctionne pas sous Windows 11 Comprendre la cause première du problème peut aider à trouver la bonne solution. Voici les principales raisons pour lesquelles l'outil de capture peut ne pas fonctionner correctement : L'assistant de mise au point est activé : cela empêche l'ouverture de l'outil de capture. Application corrompue : si l'outil de capture plante au lancement, il est peut-être corrompu. Pilotes graphiques obsolètes : des pilotes incompatibles peuvent interférer avec l'outil de capture. Interférence provenant d'autres applications : d'autres applications en cours d'exécution peuvent entrer en conflit avec l'outil de capture. Le certificat a expiré : une erreur lors du processus de mise à niveau peut provoquer ce problème. Solution simple. Celles-ci conviennent à la plupart des utilisateurs et ne nécessitent aucune connaissance technique particulière. 1. Mettez à jour les applications Windows et Microsoft Store

Comment utiliser Bing Image Creator gratuitement Comment utiliser Bing Image Creator gratuitement Feb 27, 2024 am 11:04 AM

Cet article présente sept façons d'obtenir une sortie de haute qualité à l'aide du logiciel gratuit BingImageCreator. BingImageCreator (maintenant connu sous le nom d'ImageCreator pour Microsoft Designer) est l'un des grands générateurs d'art d'intelligence artificielle en ligne. Il génère des effets visuels très réalistes basés sur les invites de l'utilisateur. Plus vos invites sont spécifiques, claires et créatives, meilleurs seront les résultats. BingImageCreator a fait des progrès significatifs dans la création d'images de haute qualité. Il utilise désormais le mode d'entraînement Dall-E3, affichant un niveau de détail et de réalisme plus élevé. Cependant, sa capacité à produire des résultats HD de manière cohérente dépend de plusieurs facteurs, notamment la rapidité

Comment réparer l'erreur Impossible de se connecter à l'App Store sur iPhone Comment réparer l'erreur Impossible de se connecter à l'App Store sur iPhone Jul 29, 2023 am 08:22 AM

Partie 1 : étapes de dépannage initiales Vérification de l'état du système Apple : avant d'aborder des solutions complexes, commençons par les bases. Le problème ne vient peut-être pas de votre appareil ; les serveurs Apple sont peut-être en panne. Visitez la page État du système d'Apple pour voir si l'AppStore fonctionne correctement. S'il y a un problème, tout ce que vous pouvez faire est d'attendre qu'Apple le résolve. Vérifiez votre connexion Internet : assurez-vous que vous disposez d'une connexion Internet stable, car le problème "Impossible de se connecter à l'AppStore" peut parfois être attribué à une mauvaise connexion. Essayez de basculer entre le Wi-Fi et les données mobiles ou de réinitialiser les paramètres réseau (Général > Réinitialiser > Réinitialiser les paramètres réseau > Paramètres). Mettez à jour votre version iOS :

Comment supprimer des images des téléphones Xiaomi Comment supprimer des images des téléphones Xiaomi Mar 02, 2024 pm 05:34 PM

Comment supprimer des images sur les téléphones mobiles Xiaomi ? Vous pouvez supprimer des images sur les téléphones mobiles Xiaomi, mais la plupart des utilisateurs ne savent pas comment supprimer des images. Voici ensuite le didacticiel sur la façon de supprimer des images sur les téléphones mobiles Xiaomi proposé par l'éditeur. pouvez venir nous rejoindre. Voyons! Comment supprimer des images sur le téléphone mobile Xiaomi 1. Ouvrez d'abord la fonction [Album] dans le téléphone mobile Xiaomi ; 2. Vérifiez ensuite les images inutiles et cliquez sur le bouton [Supprimer] dans le coin inférieur droit ; en haut pour accéder à la zone spéciale, sélectionnez [Corbeille] ; 4. Cliquez ensuite directement sur [Vider la corbeille] comme indiqué dans la figure ci-dessous. 5. Enfin, cliquez directement sur [Suppression permanente] pour terminer.

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Comment synchroniser la génération de nombres aléatoires dans le traitement parallèle Golang ? Comment synchroniser la génération de nombres aléatoires dans le traitement parallèle Golang ? Jun 03, 2024 pm 02:53 PM

Synchronisation de la génération de nombres aléatoires dans la programmation simultanée Go : utilisez un mutex (sync.Mutex) pour contrôler l'accès au générateur de nombres aléatoires rand.Rand. Chaque goroutine acquiert le verrou mutex avant de générer des nombres aléatoires et libère le verrou mutex après l'avoir généré. Cela garantit qu’un seul goroutine à la fois peut accéder au générateur de nombres aléatoires, éliminant ainsi les courses aux données.

See all articles