Dieser Artikel stellt hauptsächlich die einfache Implementierungsmethode des Verifizierungscodes in thinkPHP vor und analysiert die Implementierungsprinzipien, Schritte und Aufruftechniken des thinkPHP-Verifizierungscodes in Form von Beispielen
Die Beispiele in diesem Artikel werden erklärt. Lernen Sie die einfache Implementierungsmethode des Verifizierungscodes in thinkPHP kennen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Die Darstellung der Operation ist wie folgt:
1.php-Seite generiert die Funktion „Bestätigungscode“.
public function verify(){ // 验证码 import("@.Util.Image"); Image::buildImageVerify(4,1,'png',40,20,'verify'); } /** * 生成图像验证码 * @static * @access public * @param string $length 位数 * @param string $mode 类型 * @param string $type 图像格式 * @param string $width 宽度 * @param string $height 高度 * @return string */ static function buildImageVerify($length=4, $mode=1, $type='png', $width=48, $height=22, $verifyName='verify') { import('ORG.Util.String'); $randval = String::randString($length, $mode); session($verifyName, md5($randval)); $width = ($length * 10 + 10) > $width ? $length * 10 + 10 : $width; if ($type != 'gif' && function_exists('imagecreatetruecolor')) { $im = imagecreatetruecolor($width, $height); } else { $im = imagecreate($width, $height); } $r = Array(225, 255, 255, 223); $g = Array(225, 236, 237, 255); $b = Array(225, 236, 166, 125); $key = mt_rand(0, 3); $backColor = imagecolorallocate($im, $r[$key], $g[$key], $b[$key]); //背景色(随机) $borderColor = imagecolorallocate($im, 100, 100, 100); //边框色 imagefilledrectangle($im, 0, 0, $width - 1, $height - 1, $backColor); imagerectangle($im, 0, 0, $width - 1, $height - 1, $borderColor); $stringColor = imagecolorallocate($im, mt_rand(0, 200), mt_rand(0, 120), mt_rand(0, 120)); // 干扰 for ($i = 0; $i < 10; $i++) { imagearc($im, mt_rand(-10, $width), mt_rand(-10, $height), mt_rand(30, 300), mt_rand(20, 200), 55, 44, $stringColor); } for ($i = 0; $i < 25; $i++) { imagesetpixel($im, mt_rand(0, $width), mt_rand(0, $height), $stringColor); } for ($i = 0; $i < $length; $i++) { imagestring($im, 5, $i * 10 + 5, mt_rand(1, 8), $randval{$i}, $stringColor); } Image::output($im, $type); }
Übergeben Sie das Bild beim Generieren an die Sitzung.
2. Auf der Seitenseite wird
<img id="verifyImg" src="{sh::U('Agent/Login/verify')}" onClick="changeVerify()" title="点击刷新验证码" /></p>
direkt in src aufgerufen.
Klicken Sie, um Änderungen auszulösen.
function changeVerify(){ verifyURL = "{sh::U('Agent/Login/verify')}"; $("#verifyImg").attr("src",verifyURL); return false; }
3. Hintergrundüberprüfung: Vergleichen Sie, ob das Beitragsfeld mit dem Bestätigungscode in der Sitzung übereinstimmt.
if($_SESSION['verify'] != md5($_POST['verify'])) { $this->error('验证码错误!'); }
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
So implementieren Sie phpqrcode, um QR-Code mit Logo in Thinkphp3.2.3 zu generieren
thinkphp Umfassende Analyse des integrierten Verifizierungscodes
thinkPHP Framework implementiert die Methode zur Generierung von Barcodes
Das obige ist der detaillierte Inhalt vonEinfache Implementierungsmethode des Verifizierungscodes in thinkPHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!