②PHPは関数を使用してグラフィック検証コードを実装します

PHPは関数を使用してグラフィック検証コードを実装します

コードはgithubで共有されています:https://github.com/LVQINGDONG/learn_phpダウンロードするnumberImgブランチを見つけてください

実装手順:

①ランダムな文字列(確認コードの数字または文字の組み合わせ)を生成します

②ランダムなグラフィック検証コードを生成します

③デザインフォーム構成-登録ページ

-------------------------------------------------- ------

①ランダムな文字列コードを生成します:functions.php

PHPシステム関数と使用される関数:

range()関数:指定された範囲の要素を含む配列を作成して返します。

array_merge()関数:2つ以上の配列を1つの配列に結合します。

array_flip()関数:反転した配列を返します。

array_rand()関数:配列から1つ以上の要素をランダムに選択します。

関数を作成してfunctions.phpをテストします。

       

②ランダムなグラフィック検証コードcreate_numberImg.phpを生成します。

PHPシステム関数と使用される関数:

imagecreate():パレットベースの画像を作成します。

imagecolorallocate():画像に色を割り当てます。

imagepng():画像をブラウザまたはファイルにpng形式で出力します。

imagesx()、imagesy():画像の幅と高さを返します。

imagefontwidth()、imagefontheight():文字の幅と高さをピクセル単位で返します。

imagestring():文字の線を水平に描画します。

imagedestroy():画像を破棄します。

実現効果:


③デザインフォームの構成-登録ページ:

<!DOCTYPE html >
 <html lang = "en" >
 <head>
     <meta charset = "UTF-8" >
     <title>タイトル</ title>
     <style>
 ul {
             border1 px solid red ;
300ピクセル;
}
         ul li {
            250ピクセル;
高さ30ピクセル;
マージントップ10ピクセル;
リストスタイル                                                                なし;
        }li_font {
             float;
        }li_input {
             floatright ;
        }numberImg {
            のmargin-left100ピクセル;
         }
     </スタイル>
 </ HEAD>
 <BODY>
 <! - $ _、SERVER [ "PHP_SELF"]はスーパーグローバル変数で、現在実行中のスクリプトのファイル名を返し、ドキュメントルート関連->
 <form method = "post" action = " <?php echo htmlspecialchars($ _SERVER [ 'PHP_SELF' ]); ?> " >
     <ul>
         <li>
             <div class = "li_font" >ユーザー名:</ div>
             <div class = "li_input"> <input type = "text" name = "username" class = "username" > </ div>
         </ li>
         <li>
             <div class = "li_font" >密码:</ div>
             <div class = "li_input " > <input type = " password " name = " password " class = " password " > </ div>
         </ li>
         <li>
             <div class = " li_font " >パスワードの確認:</ div>
             <div class = "li_input" > <inputtype = "password" name = "password2" class = "password2" > </ div>
         </ li>
         <li>
             <div class = "li_font" >邮箱:</ div>
             <div class = "li_input" > < input type = "text" name = "email" class = "email" > </ div>
         </ li>
         <li>
             <div class = "numberImg" > <img src = "create_numberImg.php " > </ div>
         </ li>
         <li>
             <divclass = "li_font" >验证码:</ div>
             <div class = "li_input" > <input type = "text" name = "number" class = "number" > </ div>
         </ li>
         <li>
             <div> <input type = "submit" name = "submit" class = "submit" value = "注册" > </ div>
         </ li>
     </ ul>
 </ form>
 </ body>
 </ html>

最終的なランニング効果:







おすすめ

転載: blog.csdn.net/li__po/article/details/80542143