php登陆模块详解($_SESSION | $_POST | $_SERVER)

来源:互联网 发布:java mac 绝对路径 编辑:程序博客网 时间:2024/06/06 13:15

这里利用PHP登录模块的讲解来实现登录模块的设计,以原理讲解为主,例子比较简单!

这里用到PHP的三个超全局变量,如果要查看他们的具体内容可以:

               <pre>

                           <?php  print_r($_SERVER); ?>

              </pre>

假设我们访问的首页为:home.php ( 登录链接在这里 ) , 因为登录完成后我们还要跳转到这个首页来,因此我们要利用session来判断用户是否已经登录了。

首页实现的代码:

       

<?php session_start(); ?><html>     <head>       <title>Home</title>     </head>  <body>        <?php if(isset($_SESSION["YES"])){ ?>      You are loged in ! <br/>  <a href="#">Logged out</a><?php }else{ ?>      You are not logged in , now !<?php } ?><br/><p>Demo</p>    <ul>    <li><a href="login.php">Login01</a></li><li><a href="login.php">Login02</a></li></ul>  </body></html>


当我们点击Login01后:跳转到login01.php , 实现代码如下:

<?php  session_start(); ?><?php     if(count($_POST)>0)    if(isset($_POST["username"])&&isset($_POST["password"])){     if(($_POST["username"]=="houqingdong")&&($_POST["password"]=="dell_456")){ $_SESSION["YES"] = TRUE ; $host = $_SERVER["HTTP_HOST"]; $path = rtrim(dirname($_SERVER["PHP_SELF"])) ; header("Location:http://$host$path/home.php"); exit; }else{     echo "Something was wrong...";  }}?><html>     <head>       <title>Login web</title> </head> <body> <?php if(count($_POST)>0) echo "Invalid_login"; ?>     <form method="post" action="<?php echo $_SERVER["PHP_SELF"] ?>">    <table>        <tr>    <td>Username:</td>    <td><input type="text" name="username" value="<?php echo $_POST["username"] ?>"/></td></tr><tr>    <td>Password:</td><td><input type="password" name="password"/></td></tr><tr>    <td><input type="submit" value="Submit"/></td></tr>        </table>   </form> </body><html>  
这里有几点需要注意:
     1. 在刚开始的时候判断用户是否点击了提交按钮,如果提交了则做一系列的判断。
     2. 如果用户将密码输错了,再次输入的时候将用户名直接显示出来,不用再直接输入了。
     3. $_SESSION , $_SERVER , $_POSTD的应用。
 
原创粉丝点击