程序员人生 网站导航

php 用户登陆

栏目:php教程时间:2013-12-26 20:16:16

今天我没什么事,就把我自己写的博客系统的php用户登录代码贴出来和大家分享一下,先来看看原理,原理很简单的,就是用户输入用户名与密码然后用php文件进行判断是否存在数据库中,如果在存的话就把用户名相关信息保存到session中,这只是最简单的.也是比较常用的方法.好了费话不多说了,先看代码:

  1. <input name="myname" type="text" id="myname" style="border:solid 0px;" /> 
  2. <input name="mypass" type="password" id="mypass" style="border:solid 0px;" /> 

它们的名称分别是 myname 与 mypass,好了下面为了让用户体验更好一些我们就来个简单的js客户端效验:

  1. <script language="javascript"
  2. <!-- 
  3.  function check(){ 
  4.   var myname =document.getElementById('myname').value; 
  5.   var mypass =document.getElementById('mypass').value; 
  6.    
  7.   if(!myname.match(/^w{3,15}/) || myname.length<3 || myname.length>15 ){ 
  8.    alert('管理员名称必须由字母或组字组成!'); 
  9.    form1.myname.select(); 
  10.    return false
  11.   } 
  12.   if(!mypass.match(/^w{6,15}/) || mypass.length<6 || mypass.length>15){ 
  13.    alert('登录密码必须是数字和英语字母下线等,密码长度为6-15!'); 
  14.    form1.mypass.select(); 
  15.    return false
  16.   } 
  17.  } 
  18. --> 
  19. </script> 

这个函数的功能就是判断用户输入的是不是合法的用户名密码这里就不多说了,最关键的还是php代码怎么处理了.

  1. <? 
  2. session_start();//这个一定要申明喽,给个小提示:在session之前不能有任何输出哦,在php.5以下的版本会有问题. 
  3.  
  4.  $myname =get_value('myname',post); 
  5.  $mypass =get_value('mypass',post); 
  6.  if(!preg_match("/^w+$/",$myname) || strlen($myname)<3 || strlen($myname)>15 ){ 
  7.   alert('输入的用户名信息有误!用户名必须由数字下划线英语字母组成,长度为3-15个字符!',''); 
  8.  } 
  9.  if(!preg_match("/^w+$/",$mypass) || strlen($mypass)<6 || strlen($mypass)>15 ){ 
  10.   alert('输和的用户密码!密码必须由数字下划线英语字母组成,长度为6-15个字符!',''); 
  11.  } 
  12.  $sql ="select * from tbn where admin_name='$myname' and admin_pwd='".md5($mypass)."'"
  13.  $result =mysql_query($sql); 
  14.  if(mysql_num_rows($result) ){ 
  15.   $my =mysql_fetch_array($result); 
  16.   $_SESSION['uid']=$myname
  17.   //$_SESSION['auth']=return_auth($my['group_id']);  //这里是因为用到用户组取得用户组的权限 
  18.   header("location:main.php"); 
  19.  }else
  20.   alert('提示:你输入的用户名与密码不一致!',''); 
  21.  } 
  22. ?> 
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐