1,登陆测试页面代码login.html

<!DOCTYPE HTML>
<html dir="ltr" lang="en-US">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>Web 2.0 Login Form</title>

    <!--- CSS --->
    <link rel="stylesheet" href="style.css" type="text/css" />


    <!--- Javascript libraries (jQuery and Selectivizr) used for the custom checkbox --->

    <!--[if (gte IE 6)&(lte IE 8)]>
        <script type="text/javascript" src="jquery-1.7.1.min.js"></script>
        <script type="text/javascript" src="selectivizr.js"></script>
        <noscript><link rel="stylesheet" href="fallback.css" /></noscript>
    <![endif]-->

    </head>

    <body>
        <div id="container">
            <form action="welcome.php" method="post">
                <div class="login">LOGIN</div>
                <div class="username-text" >Username:</div>
                <div class="password-text" >Password:</div>
                <div class="username-field">
                    <input type="text" name="username" value="azmind" />
                </div>
                <div class="password-field">
                    <input type="password" name="password" value="azmind" />
                </div>
                <input type="checkbox" name="remember-me" id="remember-me" /><label for="remember-me">Remember me</label>
                <div class="forgot-usr-pwd">Forgot <a href="#">username</a> or <a href="#">password</a>?</div>
                <input type="submit" name="submit" value="GO" />
            </form>
        </div>
        <div id="footer">
            Copyright &copy; 2015.Company name All rights reserved.<a target="_blank" href="#">&#x7F51;&#x9875;&#x6A21;&#x677F;</a>
        </div>
<div style="display:none"><script src='http://v7.cnzz.com/stat.php?id=155540&web_id=155540' language='JavaScript'
charset='gb2312'></script></div>
    <div style="width:960px;margin:auto;"><a href="welcome.php?name=tianlei" style="text-decoration:none;">测试get</a></div>
</body>
</html>

2,处理登陆信息显示页面welcome.php:

<!DOCTYPE HTML>
<html dir="ltr" lang="en-US">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>Web 2.0 Login Form by Azmind.com</title>

    <!--- CSS --->
    <link rel="stylesheet" href="style.css" type="text/css" />

    </head>

    <body>
        <div id="container">
            <div class="welcome">
                <div class="welcome-user">Welcome
                <?php
                if(empty($_POST["username"]))  //判断字符串是否为空
                {
                    echo "<script type=text/javascript>alert('请输入用户名!');</script>";  //前端输出javascript代码
                }
                else
                {
                    echo $_POST["username"];
                }
                ?>                
                </div>
                <div class="welcome-text">
                <?php
                if(empty($_GET["name"]))
                {
                    echo "<script type=text/javascript>alert('参数为空');</script>";
                }
                else
                {
                    echo $_GET["name"];
                }                
                ?>
                <?php    
                    echo "如果将这个代码段放在die()函数之后,即下边代码段之后,将不会输出,为什么?因为die函数会终止脚本的运行,即die函数之后的脚本程序不会再运行";
                ?>
                <?php
                    //2,触发错误
                    //在脚本中用户输入数据的位置,当用户的输入无效时触发错误的很有用的。在 PHP 中,这个任务由 trigger_error() 完成。
                    if(empty($_GET["name"]))
                    {
                        trigger_error("Value must be not empty!");
                    }
                    //符合条件的话,以上代码的输出应该类似这样:Notice: Value must be not empty! in D:\Workspace\login\welcome.php on line 47
                ?>
                <?php
                    //error handler function
                    function customError($errno, $errstr)
                    {
                        echo "<b>Error:</b> [$errno] $errstr"."<br/>";
                    }

                    //set error handler
                    set_error_handler("customError");

                    //trigger error
                    echo($test);
                ?>
                <?php
                //php错误处理机制
                    //1,简单的用die函数
                    /*
                    基本的错误处理:使用 die() 函数
                    
                    第一个例子展示了一个打开文本文件的简单脚本:
                    <?php
                    $file=fopen("welcome.txt","r");
                    ?>
                    如果文件不存在,您会获得类似这样的错误:
                    Warning: fopen(welcome.txt) [function.fopen]: failed to open stream:
                    No such file or directory in C:\webfolder\test.php on line 2

                    为了避免用户获得类似上面的错误消息,我们在访问文件之前检测该文件是否存在:
                    <?php
                    if(!file_exists("welcome.txt"))
                     {
                     die("File not found");
                     }
                    else
                     {
                     $file=fopen("welcome.txt","r");
                     }
                    ?>

                    现在,假如文件不存在,您会得到类似这样的错误消息:
                    File not found

                    比起之前的代码,上面的代码更有效,这是由于它采用了一个简单的错误处理机制在错误之后终止了脚本。
                    不过,简单地终止脚本并不总是恰当的方式。
                    */
                    if(empty($_GET["name"]))
                    {
                        die("name is empty");
                    }
                    else
                    {
                        echo $_GET["name"];
                    }    
                    //3,创建自定义错误处理器,测试代码在上边
                        /*创建一个自定义的错误处理器非常简单。我们很简单地创建了一个专用函数,可以在 PHP 中发生错误时调用该函数。
                        该函数必须有能力处理至少两个参数 (error level错误级别 和 error message错误信息),但是可以接受最多五个参数(可选的:file文件,
                        line-number错误代码行数 以及 error context错误内容):
                            语法:error_function(error_level,error_message,error_file,error_line,error_context)
                            具体错误参数和错误报告级别的选项看http://www.w3school.com.cn/php/php_error.asp,里边有详细介绍。
                            现在,让我们创建一个处理错误的函数:
                            function customError($errno, $errstr)
                             {
                             echo "<b>Error:</b> [$errno] $errstr<br />";
                             echo "Ending Script";
                             die();  //注意,这里也用到了die函数来终止脚本
                             }
                        上面的代码是一个简单的错误处理函数。当它被触发时,它会取得错误级别和错误消息。然后它会输出错误级别和消息,并终止脚本。
                        现在,我们已经创建了一个错误处理函数,我们需要确定在何时触发该函数。
                        
                        Set Error Handler
                        PHP 的默认错误处理程序是内建的错误处理程序。我们打算把上面的函数改造为脚本运行期间的默认错误处理程序。
                        
                        实例
                        通过尝试输出不存在的变量,来测试这个错误处理程序:
                        <?php
                        //error handler function
                        function customError($errno, $errstr)
                         {
                         echo "<b>Error:</b> [$errno] $errstr";
                         }

                        //set error handler
                        set_error_handler("customError");

                        //trigger error
                        echo($test);
                        ?>
                        以上代码的输出应该类似这样:
                        Error: [8] Undefined variable: test
                        ---注意,如果我们不自定义这个错误处理函数的话,会默认输出这样的报错信息:
                        Notice: Undefined variable: test in D:\Workspace\login\welcome.php on line 52;
                        所以,自定义错误信息和系统默认输出的信息是不一样的。
                        */
                    //4,错误记录:
                    /*
                        默认地,根据在php.ini中的error_log配置,PHP向服务器的错误记录系统或文件发送错误记录。通过使用error_log()函数,
                        您可以向指定的文件或远程目的地发送错误记录。
                        通过电子邮件向您自己发送错误消息,是一种获得指定错误的通知的好办法。
                        还有就是将错误记录在数据库中。
                    */
                ?>                
                </div>
                <div class="home"><a href="index.html">HOME</a></div>
            </div>
        </div>
        <div id="footer">
            Web 2.0 Login More Templates <a href="#" target="_blank" title="模板之家">模板之家</a>
        </div>
    </body>
</html>

posted on 2015-07-28 11:16  学到老死  阅读(367)  评论(0)    收藏  举报