PHP クラシック プロジェクト ケース - (1) ブログ管理システム 2
この記事では、データベース設計、ホームページ インターフェイスの実装、および検証コードの実装コードを提供します。
5. データベース設計
2. 記事テーブル
3. 登録ユーザーテーブル
4. 画像テーブル
5. 記事コメントテーブル
6. コメント返信フォーム
7. お知らせフォーム
8. 友達リスト
6. ホームページ認証コード実装 (他の人から学ぶ)
verifycode.php
ホームページのログイン列でこのフォームを使用します:
検証内コード画像 検証コードを更新するための応答アクションを追加します onClick="javascript:refresh_code()"<?php /* 图片验证码 */ session_start(); $num=4;//验证码个数 $width=60;//验证码宽度 $height=18;//验证码高度 $code=' '; for($i=0;$i<$num;$i++)//生成验证码 { switch(rand(0,2)) { case 0:$code[$i]=chr(rand(48,57));break;//数字 case 1:$code[$i]=chr(rand(65,90));break;//大写字母 case 2:$code[$i]=chr(rand(97,122));break;//小写字母 } } $_SESSION["VerifyCode"]=$code;//使用session用于登陆时验证 $image=imagecreate($width,$height); imagecolorallocate($image,255,255,255); for($i=0;$i<80;$i++)//生成干扰像素 { $dis_color=imagecolorallocate($image,rand(0,255),rand(0,255),rand(0,255)); imagesetpixel($image,rand(1,$width),rand(1,$height),$dis_color); } for($i=0;$i<$num;$i++)//打印字符到图像 { $char_color=imagecolorallocate($image,rand(0,2555),rand(0,255),rand(0,255)); imagechar($image,30,($width/$num)*$i,rand(0,5),$code[$i],$char_color); } header("Content-type:image/png"); imagepng($image);//输出图像到浏览器 imagedestroy($image);//释放资源?>
渡される値は、単に達成するためのものですリフレッシュ、つまり、異なる検証コード ページをロードすることでもリフレッシュが実現されます。
<form action="login.php" method="post"><span style="white-space:pre"> </span>用户名:<input type="text" name="username" id="username" size="10" /> 密码:<input type="password" name="password" id="password" size="10" /> 验证码:<input type="text" name="chknum" id="chknum" size="10" /> <img id="imgcode" src="VerifyCode.php" alt="验证码" align="bottom" onClick="javascript:refresh_code()"/> <input name="submit" type="submit" value="登陆" style="FONT-SIZE: 9pt"/></form>
function refresh_code(){ document.getElementById('imgcode').src="verifycode.php?a="+Math.random();}