Xin Xing とあなたは、より簡単な方法で PHP に検証コードを実装します

WBOY
リリース: 2016-06-23 13:53:05
オリジナル
829 人が閲覧しました

正直に言うと、検証コードについては誰もがよく知っていると思いますが、PHP 検証コード カテゴリを検索するのは膨大な量のデータです。これは、検証コードを実装するためのより簡単な方法を使用することを意味します。

一般的に、最初のステップは検証コードを実装することです。2 番目のステップは、この検証コードを実装する方法を見てみましょう。知識については、次のコード例を参照してください:

<?php//首先要开启sessionsession_start();//说明这是一张图片header("Content-type:image/png");//用来动态生成的数字和字母组合$str = "3,4,5,6,7,8,9,a,b,c,d,e,f,g";//转化为数组$list = explode(",",$str);//得到该数组的下标的最大值$max = count($list) - 1;//用于表示该验证码$verify = "";//生成验证码字符串for($i = 0; $i <5;$i ++){	$rand = mt_rand(0,$max);	$verify .= $list[$rand];}//写入session$_SESSION['code'] = $verify;//生成一个58x28的图片$im = imagecreate(58,28);//产生黑色$black = imagecolorallocate($im,0,0,0);//产生白色$white = imagecolorallocate($im,255,255,255);//先用白色背景把图片刷成白色imagefill($im,0,0,$white);//然后把字符串写到图片上去imagestring($im,5,10,8,$verify,$black);//生成png图片,并且显示到屏幕上imagepng($im);//销毁该图片imagedestroy($im);
ログイン後にコピー

ちなみに、描画の基本的な手順は次のとおりです。まず画像を作成し、imagecreate 関数を使用して、次に imagecolorallocate を使用して調整します。 color を使用してから、さまざまな imagexxx を使用して画像を描画し、最後に imagexxx を使用してさまざまなスタイルの画像を生成し、最後に imagedestroy を使用して画像を破棄します。これはほぼ同じプロセスです。この中で注目すべきは、最初のパラメータが絵画の画像を表すことです。2 番目のパラメータが 0,1,2,3,4,5 である場合、これは言及されません。これは組み込みのフォントを意味し、3 番目のパラメータは絵画の左上隅の x 座標を表し、4 番目のパラメータは絵画の左上隅の y 座標を表し、5 番目のパラメータは使用する色です。ここで描画するために黒。

生成した画像がどのようなものかを見てみましょう:


それでは、この検証コードをどのように使用するのでしょうか? ファイルが書き込まれたので、検証コードをインポートするための別のファイルを作成して、取得しましょう。セッションからの値については、次のコードを参照してください:

<html>	<form action = "" method = "post">	<input type="text" name = "code" />	<img id = "code" src ="ver.php" />	<button id = "change">更换</button><br />	<input type = "submit" value = "确定" />	</form> 	<script type="text/javascript"> 		document.getElementById("change").addEventListener("click",change); 		function change(){ 			//之所以加这个随机数是为了兼容IE浏览器 			document.getElementById("code").src ="ver.php?"+Math.random(); 		} 	</script></html><?phpsession_start();//一定要等post数据提交了在判断,//否则一开始就会显示信息if(isset($_POST['code'])){	if($_POST['code'] == $_SESSION['code']){		echo "验证码正确";	}else{		echo "验证码错误";	}}
ログイン後にコピー
ここでは Javascript の一部が使用されています。読者が Javascript に慣れていない場合は、スキップしても構いません。 以下は、実行中のエフェクトのスクリーンショットです。

もちろん、実際のプロジェクトはさらに複雑です。ここで提供されているのはサンプル プログラムです。一緒に進めていただければ幸いです。 。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!