PHPクラシックプロジェクト事例-(1) ブログ管理システム2
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();}

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Golang を使用する開発または学習のプロセス中に、unknown:rand.Seed というエラー メッセージが表示されることがあります。 Golang では、 rand パッケージの関数を使用する前に乱数シードを設定する必要があるため、このエラーは通常、乱数ジェネレーターを使用する必要がある場合に発生します。この記事では、このエラーを解決する方法について説明します。 1. math/rand パッケージを導入する まず、math/rand パッケージをコードに導入する必要があります。存在する

この記事では、無料の BingImageCreator を使用して高品質の出力を取得する 7 つの方法を紹介します。 BingImageCreator (現在は ImageCreator for Microsoft Designer として知られています) は、優れたオンライン人工知能アート ジェネレーターの 1 つです。ユーザーのプロンプトに基づいて、非常にリアルな視覚効果を生成します。プロンプトがより具体的、明確、創造的であればあるほど、より良い結果が得られます。 BingImageCreator は、高品質の画像の作成において大きな進歩を遂げました。 Dall-E3 トレーニング モードを使用するようになり、より高いレベルの詳細とリアリズムが表示されます。ただし、一貫して HD 結果を生成できるかどうかは、高速な処理などのいくつかの要因によって決まります。

Xiaomi 携帯電話で画像を削除する方法? Xiaomi 携帯電話で画像を削除できますが、ほとんどのユーザーは画像の削除方法を知りません. 次に、編集者が提供する Xiaomi 携帯電話での画像の削除方法に関するチュートリアルです。ぜひご参加ください。 Xiaomi 携帯電話で画像を削除する方法 1. まず Xiaomi 携帯電話の [アルバム] 機能を開きます; 2. 次に、不要な写真を確認して右下の [削除] ボタンをクリックします; 3. 次に、[アルバム] をクリックします。上部にある特別な領域に入り、[ごみ箱]を選択します; 4. 次に、下図に示すように[ごみ箱を空にする]を直接クリックします; 5. 最後に[完全に削除]を直接クリックして完了します。

Microsoft は、Visual Studio Code 用の Unity 拡張機能のプレビュー バージョンをリリースしました。この新しい Unity 拡張機能を使用すると、Unity ゲームを作成およびデバッグできるようになります。この新しい Unity 拡張機能は、Visual Studio および Visual Studio Tools for Unity ですでに利用可能ないくつかの人気機能をもたらし、Visual Studio Code の C# を Unity 開発により適したものにします。現在、VSCode の Unity 拡張機能は次のものを提供しています。 Unity エディターと Unity プレーヤーをデバッグするための Unity デバッガー。 Unity 固有の C# アナライザーとリファクタリング。ユニ

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

LINUX はオープン ソース オペレーティング システムです。その柔軟性とカスタマイズ性により、多くの開発者やシステム管理者が最初に選択します。LINUX システムでは、画像処理は非常に重要なタスクであり、Imagemagick と Image は 2 つの非常に人気のある画像処理ツールです。この記事では、Centos システムに Imagemagick と Image をインストールする方法を紹介し、詳細なインストール チュートリアルを提供します。 Imagemagic のインストール Centos チュートリアル Imagemagick は、コマンド ラインでさまざまな画像操作を実行できる強力な画像処理ツールセットです。Centos システムに Imagemagick をインストールする手順は次のとおりです: 1

rand() 関数は、各呼び出しで同じ初期シードを使用します。デフォルトの初期シードはオペレーティング システムの時間から取得されますが、精度はマイクロ秒のみです。つまり、非常に短い期間内に、多くの rand() 関数呼び出しで同じ初期シードが使用され、同じ乱数が生成されます。では、この問題をどうやって解決すればよいでしょうか?

Go 同時プログラミングでの乱数生成の同期: ミューテックス (sync.Mutex) を使用して、rand.Rand 乱数ジェネレーターへのアクセスを制御します。各ゴルーチンは乱数を生成する前にミューテックス ロックを取得し、生成後にミューテックス ロックを解放します。これにより、一度に 1 つの goroutine だけが乱数ジェネレーターにアクセスできるようになり、データ競合が排除されます。
