>  기사  >  백엔드 개발  >  PHP Cookie登录验证技巧讲解_PHP教程

PHP Cookie登录验证技巧讲解_PHP教程

WBOY
WBOY원래의
2016-07-15 13:35:001123검색

一个网站的建设目的就是功能的完整性。其中有一个功能就是用户登录验证的实现。下面我们就向大家详细介绍有关

PHP Cookie登录验证代码示例:

  1.  html> 
  2.  head> 
  3.  title>Login /title> 
  4.  meta http-equiv="Content-Type" 
    content="text/html; charset=gb2312"> 
  5.  /head> 
  6.  body> 
  7.  form name="form1" method="post" 
    action="login.php"> 
  8.  table width="300" border="0" align="center" 
    cellpadding="2" cellspacing="2"> 
  9.  tr> 
  10.  td width="150"> div align="right">
    用户名: /div> /td> 
  11.  td width="150"> input type="text" 
    name="username"> /td> 
  12.  /tr> 
  13.  tr> 
  14.  td> div align="right">密码: /div> /td> 
  15.  td> input type="password" name="passcode"> /td> 
  16.  /tr> 
  17.  tr> 
  18.  td> div align="right">Cookie保存时间: /div> /td> 
  19.  td> select name="cookie" id="cookie"> 
  20.  option value="0" selected>浏览器进程 /option> 
  21.  option value="1">保存1天 /option> 
  22.  option value="2">保存30天 /option> 
  23.  option value="3">保存365天 /option> 
  24.  /select> /td> 
  25.  /tr> 
  26.  /table> 
  27.  p align="center"> 
  28.  input type="submit" name="Submit" value="Submit"> 
  29.  input type="reset" name="Reset" value="Reset"> 
  30.  /p> 
  31.  /form> 
  32.  /body> 
  33.  /html>  
<ol class="dp-xml">
<li class="alt"><span><span class="tag"><span> ?php  </span></span></span></li>
<li><span>@mysql_connect("localhost", "root","1981427")<br> //选择数据库之前需要先连接数据库服务器  </span></li>
<li class="alt"><span>or die("数据库服务器连接失败");  </span></li>
<li><span>@mysql_select_db("test") //选择数据库mydb  </span></li>
<li class="alt"><span>or die("数据库不存在或不可用");  </span></li>
<li><span>//获取用户输入  </span></li>
<li class="alt">
<span>$</span><span class="attribute">username</span><span> = $_POST['username'];  </span>
</li>
<li>
<span>$</span><span class="attribute">passcode</span><span> = $_POST['passcode'];  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">cookie</span><span> = $_POST['cookie'];  </span>
</li>
<li><span>//执行SQL语句  </span></li>
<li class="alt">
<span>$</span><span class="attribute">query</span><span> = @mysql_query("select username, <br>userflag from users "  </span>
</li>
<li>
<span>."where </span><span class="attribute">username</span><span> = </span><span class="attribute-value">'$username'</span><span> and <br></span><span class="attribute">passcode</span><span> = </span><span class="attribute-value">'$passcode'</span><span>")  </span>
</li>
<li class="alt"><span>or die("SQL语句执行失败");  </span></li>
<li><span>//判断用户是否存在,密码是否正确  </span></li>
<li class="alt">
<span>if($</span><span class="attribute">row</span><span> = </span><span class="attribute-value">mysql_fetch_array</span><span>($query))  </span>
</li>
<li><span>{  </span></li>
<li class="alt"><span>if($row['userflag'] == 1 or $row['userflag'] == 0) <br>//判断用户权限信息是否有效  </span></li>
<li><span>{  </span></li>
<li class="alt"><span>switch($cookie) //根据用户的选择设置cookie保存时间  </span></li>
<li><span>{  </span></li>
<li class="alt"><span>case 0: //保存Cookie为浏览器进程  </span></li>
<li><span>setcookie("username", $row['username']);  </span></li>
<li class="alt"><span>break;  </span></li>
<li><span>case 1: //保存1天  </span></li>
<li class="alt"><span>setcookie("username", $row['username'],<br> time()+24*60*60);  </span></li>
<li><span>break;  </span></li>
<li class="alt"><span>case 2: //保存30天  </span></li>
<li><span>setcookie("username", $row['username'],<br> time()+30*24*60*60);  </span></li>
<li class="alt"><span>break;  </span></li>
<li><span>case 3: //保存365天  </span></li>
<li class="alt"><span>setcookie("username", $row['username'], <br>time()+365*24*60*60);  </span></li>
<li><span>break;  </span></li>
<li class="alt"><span>}  </span></li>
<li><span>header("location: main.php"); <br>//自动跳转到main.php  </span></li>
<li class="alt"><span>}  </span></li>
<li><span>else  </span></li>
<li class="alt"><span>{  </span></li>
<li><span>echo "用户权限信息不正确";  </span></li>
<li class="alt"><span>}  </span></li>
<li><span>}  </span></li>
<li class="alt"><span>else  </span></li>
<li><span>{  </span></li>
<li class="alt"><span>echo "用户名或密码错误";  </span></li>
<li><span>}  </span></li>
<li class="alt">
<span class="tag">?></span><span> </span>
</li>
</ol>

PHP Cookie登录验证代码实例:

 

<ol class="dp-xml">
<li class="alt"><span><span class="tag"><span> ?php  </span></span></span></li>
<li><span>session_start();  </span></li>
<li class="alt"><span>if(isset($_COOKIE['username']))  </span></li>
<li><span>{  </span></li>
<li class="alt"><span>@mysql_connect("localhost", "root","1981427") </span></li>
<li class="alt"><span>//选择数据库之前需要先连接数据库服务器  </span></li>
<li><span>or die("数据库服务器连接失败");  </span></li>
<li class="alt"><span>@mysql_select_db("test") //选择数据库mydb  </span></li>
<li><span>or die("数据库不存在或不可用");  </span></li>
<li class="alt"><span>//获取Session  </span></li>
<li>
<span>$</span><span class="attribute">username</span><span> = $_COOKIE['username'];  </span>
</li>
<li class="alt"><span>//执行SQL语句获得userflag的值  </span></li>
<li>
<span>$</span><span class="attribute">query</span><span> = @mysql_query("select <br>userflag from users "  </span>
</li>
<li class="alt">
<span>."where </span><span class="attribute">username</span><span> = </span><span class="attribute-value">'$username'</span><span>")  </span>
</li>
<li><span>or die("SQL语句执行失败");  </span></li>
<li class="alt">
<span>$</span><span class="attribute">row</span><span> = </span><span class="attribute-value">mysql_fetch_array</span><span>($query);  </span>
</li>
<li><span>//获得用户权限信息  </span></li>
<li class="alt">
<span>$</span><span class="attribute">flag</span><span> = $row['userflag'];  </span>
</li>
<li><span>//根据userflag的值输出不同的欢迎信息  </span></li>
<li class="alt">
<span>if($</span><span class="attribute">flag</span><span> == 1)  </span>
</li>
<li><span>echo "欢迎管理员".$_SESSION['username']<br>."登录系统";  </span></li>
<li class="alt">
<span>if($</span><span class="attribute">flag</span><span> == 0)  </span>
</li>
<li><span>echo "欢迎用户".$_SESSION['username']<br>."登录系统";  </span></li>
<li class="alt">
<span>echo "</span><span class="tag"><span> </span><span class="tag-name">a</span><span> </span><span class="attribute">href</span><span>=</span><span class="attribute-value">"logout.php"</span><span> <br></span><span class="attribute">href</span><span>=</span><span class="attribute-value">"logout.php"</span><span class="tag">></span><span>注销</span><span class="tag"><span> /a</span><span class="tag">></span><span>";  </span></span></span>
</li>
<li><span>}  </span></li>
<li class="alt"><span>else  </span></li>
<li><span>{  </span></li>
<li class="alt"><span>echo "您没有权限访问本页面";  </span></li>
<li><span>}  </span></li>
<li class="alt">
<span class="tag">?></span><span> </span>
</li>
<li><span class="tag"><span> ?php  </span></span></li>
<li class="alt"><span>setcookie("username");  </span></li>
<li><span>echo "注销成功";  </span></li>
<li class="alt">
<span class="tag">?></span><span> </span>
</li>
</ol>

以上及时PHP Cookie登录验证的实现方法。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/445946.htmlTechArticle一个网站的建设目的就是功能的完整性。其中有一个功能就是用户登录验证的实现。下面我们就向大家详细介绍有关 PHP Cookie登录验证代码...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.