<rt id="egbd3"><small id="egbd3"><strike id="egbd3"></strike></small></rt>

            \n

            用戶登錄<\/h1>\n
            \n 用戶名:<\/span>\n echo<\/span> $validate_username<\/span>; ?>\n <\/font>

            \n 密<\/span>   碼:\n echo<\/span> $validate_password<\/span>; ?>\n <\/font>

            \n \n<\/form>\n<\/body>\n<\/html><\/pre>\n<\/div>\nView Code<\/span>\n<\/div>\n

            3.2 login.php<\/p>\n

            \n\"\"\"\"\n
            \n
            php\n<\/span>\/*<\/span>*\n * Created by PhpStorm.\n * User: andy\n * Date: 16-11-25\n * Time: 下午10:20\n <\/span>*\/<\/span>\n\nsession_start<\/span>();\n\n<\/span>$username<\/span> = $_POST<\/span>['username'];\n<\/span>$password<\/span> = $_POST<\/span>['password'];\n\n\n<\/span>$user<\/span> = new<\/span> User($username<\/span>, $password<\/span>);\n\n<\/span>\/\/<\/span>判斷登錄是否成功<\/span>\ntry<\/span>{\n    Validate<\/span>::validateUser($user<\/span>);\n\n    <\/span>\/\/<\/span>驗證通過,登錄成功<\/span>\n    $_SESSION<\/span>['username']=$username<\/span>;\n    <\/span>header<\/span>('location:main.php');\n}<\/span>catch<\/span> (MyException $me<\/span>){\n\n    <\/span>\/\/<\/span>驗證失敗<\/span>\n    header<\/span>('location:index.php');\n}\n\n\n<\/span>\/*<\/span>*\n * 自動加載類\n * @param $class\n * @return string\n <\/span>*\/<\/span>\nfunction<\/span> __autoload($class<\/span>)\n{\n    <\/span>$file<\/span> = __DIR__ . '\/' . strtolower<\/span>($class<\/span>) . '.php';\n    <\/span>if<\/span> (is_file<\/span>($file<\/span>)) {\n        <\/span>include_once<\/span> $file<\/span>;\n    }\n    <\/span>return<\/span> '';\n}<\/span><\/pre>\n<\/div>\nView Code<\/span><\/div>\n

            3.3 myexception.php<\/p>\n

            \"\"\"\"\n
            \n
            php\n\n<\/span>\/*<\/span>*\n * Created by PhpStorm.\n * User: andy\n * Date: 16-11-25\n * Time: 下午10:50\n <\/span>*\/<\/span>\nclass<\/span> MyException extends<\/span> Exception<\/span>\n{\n\n}<\/span><\/pre>\n<\/div>\nView Code<\/span><\/div>\n

            3.4 user.php<\/p>\n

            \"\"\"\"\n
            \n
            php\n\n<\/span>\/*<\/span>*\n * Created by PhpStorm.\n * User: andy\n * Date: 16-11-25\n * Time: 下午10:29\n <\/span>*\/<\/span>\nclass<\/span> User\n{\n    <\/span>private<\/span> $username<\/span> = '';\n    <\/span>private<\/span> $password<\/span> = '';\n\n    <\/span>function<\/span> __construct($username<\/span>, $password<\/span>)\n    {\n        <\/span>$this<\/span>->username = $username<\/span>;\n        <\/span>$this<\/span>->password = $password<\/span>;\n    }\n\n    <\/span>\/*<\/span>*\n     * 返回用戶名\n     * @return string\n     <\/span>*\/<\/span>\n    public<\/span> function<\/span> getUsername(): string<\/span>\n    {\n        <\/span>return<\/span> $this<\/span>->username;\n    }\n\n    <\/span>\/*<\/span>*\n     * 返回密碼\n     * @return string\n     <\/span>*\/<\/span>\n    public<\/span> function<\/span> getPassword(): string<\/span>\n    {\n        <\/span>return<\/span> $this<\/span>->password;\n    }\n}<\/span><\/pre>\n<\/div>\nView Code<\/span>\n<\/div>\n

            3.5 validate.php<\/p>\n

            \n\"\"\"\"\n
            \n
            php\n\n<\/span>\/*<\/span>*\n * 驗證類\n * Created by PhpStorm.\n * User: andy\n * Date: 16-11-25\n * Time: 下午10:34\n <\/span>*\/<\/span>\nclass<\/span>  Validate\n{\n    <\/span>\/*<\/span>*\n     * 驗證用戶\n     * @param User $user\n     * @throws MyException\n     <\/span>*\/<\/span>\n    static<\/span> function<\/span> validateUser(User $user<\/span>)\n    {\n        <\/span>\/\/<\/span>print_r($user);<\/span>\n        $username<\/span> = $user<\/span>->getUsername();\n        <\/span>$password<\/span> = $user<\/span>->getPassword();\n\n        <\/span>unset<\/span>($_SESSION<\/span>['validate_username'],$_SESSION<\/span>['validate_password']);\n\n        <\/span>\/\/<\/span>驗證用戶名<\/span>\n        try<\/span> {\n            self<\/span>::validateUsername($username<\/span>);\n        }<\/span>catch<\/span> (MyException $me<\/span>) {\n            <\/span>$_SESSION<\/span>['validate_username']=$me<\/span>->getMessage();\n        }\n\n        <\/span>\/\/<\/span>驗證密碼<\/span>\n        try<\/span> {\n            self<\/span>::validatePassword($password<\/span>);\n        }<\/span>catch<\/span> (MyException $me<\/span>) {\n            <\/span>$_SESSION<\/span>['validate_password']=$me<\/span>->getMessage();\n        }\n\n\n        <\/span>if<\/span>(isset<\/span>($me<\/span>)){\n            <\/span>throw<\/span> $me<\/span>;\n        }\n\n    }\n\n    <\/span>\/*<\/span>*\n     * 驗證用戶名\n     * @param $username\n     * @throws MyException\n     <\/span>*\/<\/span>\n    static<\/span> private<\/span> function<\/span> validateUsername($username<\/span>)\n    {\n        <\/span>$lem<\/span> = strlen<\/span>($username<\/span>);\n        <\/span>if<\/span> ($lem<\/span> < 3) {\n            <\/span>\/\/<\/span>拋出異常<\/span>\n            throw<\/span> new<\/span> MyException('用戶名長度不能小于3位', E_USER_ERROR<\/span>);\n        } <\/span>elseif<\/span> ($lem<\/span> > 8) {\n            <\/span>throw<\/span> new<\/span> MyException('用戶名長度不能超過8位', E_USER_ERROR<\/span>);\n        }\n    }\n\n    <\/span>\/*<\/span>*\n     * 驗證密碼\n     * @param $password\n     * @throws MyException\n     <\/span>*\/<\/span>\n    static<\/span> private<\/span> function<\/span> validatePassword($password<\/span>)\n    {\n        <\/span>$lem<\/span> = strlen<\/span>($password<\/span>);\n        <\/span>if<\/span> ($lem<\/span> < 3) {\n            <\/span>\/\/<\/span>拋出異常<\/span>\n            throw<\/span> new<\/span> MyException('密碼長度不能小于3位', E_USER_ERROR<\/span>);\n        } <\/span>elseif<\/span> ($lem<\/span> > 8) {\n            <\/span>throw<\/span> new<\/span> MyException('密碼長度不能超過8位', E_USER_ERROR<\/span>);\n        }\n    }\n\n}<\/span><\/pre>\n<\/div>\nView Code<\/span>\n<\/div>\n

            <\/p>\n

            (End.)<\/p>\n

            <\/div>\n
            <\/div>"}

            国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

            Home php教程 php手冊 PHP authentication user login example-study notes

            PHP authentication user login example-study notes

            Nov 30, 2016 pm 11:59 PM

            1. Basic process:

            2.UML class diagram:

            3.PHP code:

            3.1 index.php

            <?<span style="color: #000000;">php
            </span><span style="color: #008000;">/*</span><span style="color: #008000;">*
             * Created by PhpStorm.
             * User: andy
             * Date: 16-11-25
             * Time: 下午10:13
             </span><span style="color: #008000;">*/</span>
            
            <span style="color: #008080;">session_start</span><span style="color: #000000;">();
            </span><span style="color: #800080;">$validate_username</span>=<span style="color: #0000ff;">isset</span>(<span style="color: #800080;">$_SESSION</span>['validate_username'])?<span style="color: #800080;">$_SESSION</span>['validate_username']:''<span style="color: #000000;">;
            </span><span style="color: #800080;">$validate_password</span>=<span style="color: #0000ff;">isset</span>(<span style="color: #800080;">$_SESSION</span>['validate_password'])?<span style="color: #800080;">$_SESSION</span>['validate_password']:''<span style="color: #000000;">;
            
            </span>?>
            
            <html>
            <head>
                <meta charset="utf-8"/>
                <title>用戶登錄</title>
            </head>
            <body>
            <h1>用戶登錄</h1>
            <form action="login.php" method="post"><span style="color: #000000;">
                用戶名:</span><input type="text" name="username" value="" /><font color="red">
                    <?php  <span style="color: #0000ff;">echo</span> <span style="color: #800080;">$validate_username</span>; ?>
                </font><br /><br /><span style="color: #000000;">
                密</span>   碼:<input type="password" name="password" value="" /><font color="red">
                    <?php  <span style="color: #0000ff;">echo</span> <span style="color: #800080;">$validate_password</span>; ?>
                </font><br /><br />
                <input type="submit" value="提交" />
            </form>
            </body>
            </html>
            View Code

            3.2 login.php

            <?<span style="color: #000000;">php
            </span><span style="color: #008000;">/*</span><span style="color: #008000;">*
             * Created by PhpStorm.
             * User: andy
             * Date: 16-11-25
             * Time: 下午10:20
             </span><span style="color: #008000;">*/</span>
            
            <span style="color: #008080;">session_start</span><span style="color: #000000;">();
            
            </span><span style="color: #800080;">$username</span> = <span style="color: #800080;">$_POST</span>['username'<span style="color: #000000;">];
            </span><span style="color: #800080;">$password</span> = <span style="color: #800080;">$_POST</span>['password'<span style="color: #000000;">];
            
            
            </span><span style="color: #800080;">$user</span> = <span style="color: #0000ff;">new</span> User(<span style="color: #800080;">$username</span>, <span style="color: #800080;">$password</span><span style="color: #000000;">);
            
            </span><span style="color: #008000;">//</span><span style="color: #008000;">判斷登錄是否成功</span>
            <span style="color: #0000ff;">try</span><span style="color: #000000;">{
                Validate</span>::validateUser(<span style="color: #800080;">$user</span><span style="color: #000000;">);
            
                </span><span style="color: #008000;">//</span><span style="color: #008000;">驗證通過,登錄成功</span>
                <span style="color: #800080;">$_SESSION</span>['username']=<span style="color: #800080;">$username</span><span style="color: #000000;">;
                </span><span style="color: #008080;">header</span>('location:main.php'<span style="color: #000000;">);
            }</span><span style="color: #0000ff;">catch</span> (MyException <span style="color: #800080;">$me</span><span style="color: #000000;">){
            
                </span><span style="color: #008000;">//</span><span style="color: #008000;">驗證失敗</span>
                <span style="color: #008080;">header</span>('location:index.php'<span style="color: #000000;">);
            }
            
            
            </span><span style="color: #008000;">/*</span><span style="color: #008000;">*
             * 自動加載類
             * @param $class
             * @return string
             </span><span style="color: #008000;">*/</span>
            <span style="color: #0000ff;">function</span> __autoload(<span style="color: #800080;">$class</span><span style="color: #000000;">)
            {
                </span><span style="color: #800080;">$file</span> = __DIR__ . '/' . <span style="color: #008080;">strtolower</span>(<span style="color: #800080;">$class</span>) . '.php'<span style="color: #000000;">;
                </span><span style="color: #0000ff;">if</span> (<span style="color: #008080;">is_file</span>(<span style="color: #800080;">$file</span><span style="color: #000000;">)) {
                    </span><span style="color: #0000ff;">include_once</span> <span style="color: #800080;">$file</span><span style="color: #000000;">;
                }
                </span><span style="color: #0000ff;">return</span> ''<span style="color: #000000;">;
            }</span>
            View Code

            3.3 myexception.php

            <?<span style="color: #000000;">php
            
            </span><span style="color: #008000;">/*</span><span style="color: #008000;">*
             * Created by PhpStorm.
             * User: andy
             * Date: 16-11-25
             * Time: 下午10:50
             </span><span style="color: #008000;">*/</span>
            <span style="color: #0000ff;">class</span> MyException <span style="color: #0000ff;">extends</span> <span style="color: #0000ff;">Exception</span><span style="color: #000000;">
            {
            
            }</span>
            View Code

            3.4 user.php

            <?<span style="color: #000000;">php
            
            </span><span style="color: #008000;">/*</span><span style="color: #008000;">*
             * Created by PhpStorm.
             * User: andy
             * Date: 16-11-25
             * Time: 下午10:29
             </span><span style="color: #008000;">*/</span>
            <span style="color: #0000ff;">class</span><span style="color: #000000;"> User
            {
                </span><span style="color: #0000ff;">private</span> <span style="color: #800080;">$username</span> = ''<span style="color: #000000;">;
                </span><span style="color: #0000ff;">private</span> <span style="color: #800080;">$password</span> = ''<span style="color: #000000;">;
            
                </span><span style="color: #0000ff;">function</span> __construct(<span style="color: #800080;">$username</span>, <span style="color: #800080;">$password</span><span style="color: #000000;">)
                {
                    </span><span style="color: #800080;">$this</span>->username = <span style="color: #800080;">$username</span><span style="color: #000000;">;
                    </span><span style="color: #800080;">$this</span>->password = <span style="color: #800080;">$password</span><span style="color: #000000;">;
                }
            
                </span><span style="color: #008000;">/*</span><span style="color: #008000;">*
                 * 返回用戶名
                 * @return string
                 </span><span style="color: #008000;">*/</span>
                <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span> getUsername(): <span style="color: #0000ff;">string</span><span style="color: #000000;">
                {
                    </span><span style="color: #0000ff;">return</span> <span style="color: #800080;">$this</span>-><span style="color: #000000;">username;
                }
            
                </span><span style="color: #008000;">/*</span><span style="color: #008000;">*
                 * 返回密碼
                 * @return string
                 </span><span style="color: #008000;">*/</span>
                <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span> getPassword(): <span style="color: #0000ff;">string</span><span style="color: #000000;">
                {
                    </span><span style="color: #0000ff;">return</span> <span style="color: #800080;">$this</span>-><span style="color: #000000;">password;
                }
            }</span>
            View Code

            3.5 validate.php

            <?<span style="color: #000000;">php
            
            </span><span style="color: #008000;">/*</span><span style="color: #008000;">*
             * 驗證類
             * Created by PhpStorm.
             * User: andy
             * Date: 16-11-25
             * Time: 下午10:34
             </span><span style="color: #008000;">*/</span>
            <span style="color: #0000ff;">class</span><span style="color: #000000;">  Validate
            {
                </span><span style="color: #008000;">/*</span><span style="color: #008000;">*
                 * 驗證用戶
                 * @param User $user
                 * @throws MyException
                 </span><span style="color: #008000;">*/</span>
                <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">function</span> validateUser(User <span style="color: #800080;">$user</span><span style="color: #000000;">)
                {
                    </span><span style="color: #008000;">//</span><span style="color: #008000;">print_r($user);</span>
                    <span style="color: #800080;">$username</span> = <span style="color: #800080;">$user</span>-><span style="color: #000000;">getUsername();
                    </span><span style="color: #800080;">$password</span> = <span style="color: #800080;">$user</span>-><span style="color: #000000;">getPassword();
            
                    </span><span style="color: #0000ff;">unset</span>(<span style="color: #800080;">$_SESSION</span>['validate_username'],<span style="color: #800080;">$_SESSION</span>['validate_password'<span style="color: #000000;">]);
            
                    </span><span style="color: #008000;">//</span><span style="color: #008000;">驗證用戶名</span>
                    <span style="color: #0000ff;">try</span><span style="color: #000000;"> {
                        self</span>::validateUsername(<span style="color: #800080;">$username</span><span style="color: #000000;">);
                    }</span><span style="color: #0000ff;">catch</span> (MyException <span style="color: #800080;">$me</span><span style="color: #000000;">) {
                        </span><span style="color: #800080;">$_SESSION</span>['validate_username']=<span style="color: #800080;">$me</span>-><span style="color: #000000;">getMessage();
                    }
            
                    </span><span style="color: #008000;">//</span><span style="color: #008000;">驗證密碼</span>
                    <span style="color: #0000ff;">try</span><span style="color: #000000;"> {
                        self</span>::validatePassword(<span style="color: #800080;">$password</span><span style="color: #000000;">);
                    }</span><span style="color: #0000ff;">catch</span> (MyException <span style="color: #800080;">$me</span><span style="color: #000000;">) {
                        </span><span style="color: #800080;">$_SESSION</span>['validate_password']=<span style="color: #800080;">$me</span>-><span style="color: #000000;">getMessage();
                    }
            
            
                    </span><span style="color: #0000ff;">if</span>(<span style="color: #0000ff;">isset</span>(<span style="color: #800080;">$me</span><span style="color: #000000;">)){
                        </span><span style="color: #0000ff;">throw</span> <span style="color: #800080;">$me</span><span style="color: #000000;">;
                    }
            
                }
            
                </span><span style="color: #008000;">/*</span><span style="color: #008000;">*
                 * 驗證用戶名
                 * @param $username
                 * @throws MyException
                 </span><span style="color: #008000;">*/</span>
                <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span> validateUsername(<span style="color: #800080;">$username</span><span style="color: #000000;">)
                {
                    </span><span style="color: #800080;">$lem</span> = <span style="color: #008080;">strlen</span>(<span style="color: #800080;">$username</span><span style="color: #000000;">);
                    </span><span style="color: #0000ff;">if</span> (<span style="color: #800080;">$lem</span> < 3<span style="color: #000000;">) {
                        </span><span style="color: #008000;">//</span><span style="color: #008000;">拋出異常</span>
                        <span style="color: #0000ff;">throw</span> <span style="color: #0000ff;">new</span> MyException('用戶名長度不能小于3位', <span style="color: #ff00ff;">E_USER_ERROR</span><span style="color: #000000;">);
                    } </span><span style="color: #0000ff;">elseif</span> (<span style="color: #800080;">$lem</span> > 8<span style="color: #000000;">) {
                        </span><span style="color: #0000ff;">throw</span> <span style="color: #0000ff;">new</span> MyException('用戶名長度不能超過8位', <span style="color: #ff00ff;">E_USER_ERROR</span><span style="color: #000000;">);
                    }
                }
            
                </span><span style="color: #008000;">/*</span><span style="color: #008000;">*
                 * 驗證密碼
                 * @param $password
                 * @throws MyException
                 </span><span style="color: #008000;">*/</span>
                <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span> validatePassword(<span style="color: #800080;">$password</span><span style="color: #000000;">)
                {
                    </span><span style="color: #800080;">$lem</span> = <span style="color: #008080;">strlen</span>(<span style="color: #800080;">$password</span><span style="color: #000000;">);
                    </span><span style="color: #0000ff;">if</span> (<span style="color: #800080;">$lem</span> < 3<span style="color: #000000;">) {
                        </span><span style="color: #008000;">//</span><span style="color: #008000;">拋出異常</span>
                        <span style="color: #0000ff;">throw</span> <span style="color: #0000ff;">new</span> MyException('密碼長度不能小于3位', <span style="color: #ff00ff;">E_USER_ERROR</span><span style="color: #000000;">);
                    } </span><span style="color: #0000ff;">elseif</span> (<span style="color: #800080;">$lem</span> > 8<span style="color: #000000;">) {
                        </span><span style="color: #0000ff;">throw</span> <span style="color: #0000ff;">new</span> MyException('密碼長度不能超過8位', <span style="color: #ff00ff;">E_USER_ERROR</span><span style="color: #000000;">);
                    }
                }
            
            }</span>
            View Code

            (End.)

            Statement of this Website
            The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

            Hot AI Tools

            Undress AI Tool

            Undress AI Tool

            Undress images for free

            Undresser.AI Undress

            Undresser.AI Undress

            AI-powered app for creating realistic nude photos

            AI Clothes Remover

            AI Clothes Remover

            Online AI tool for removing clothes from photos.

            Clothoff.io

            Clothoff.io

            AI clothes remover

            Video Face Swap

            Video Face Swap

            Swap faces in any video effortlessly with our completely free AI face swap tool!

            Hot Tools

            Notepad++7.3.1

            Notepad++7.3.1

            Easy-to-use and free code editor

            SublimeText3 Chinese version

            SublimeText3 Chinese version

            Chinese version, very easy to use

            Zend Studio 13.0.1

            Zend Studio 13.0.1

            Powerful PHP integrated development environment

            Dreamweaver CS6

            Dreamweaver CS6

            Visual web development tools

            SublimeText3 Mac version

            SublimeText3 Mac version

            God-level code editing software (SublimeText3)

            Hot Topics

            PHP Tutorial
            1502
            276