<?
 if(trim($lguid)==""||trim($lgpsd)=="")   //这是两个表单提交的变量 
     {
      print "<p><b>没有填写用户称谓或密码,请重试!</b></p>";
      exit();
     }
 $lguid=trim($lguid);
 $lgpsd=trim($lgpsd);
 $link=@mysql_connect("localhost","yourname","yourpsd");
    if($link==false) 
        {
        print "<p><b>连接数据库时发生错误,请稍后再试!</b></p>";
        exit();
        }
 $qu="use yourdatabase";   //打开数据库
 $res=@mysql_query($qu,$link);  
    if($res==false) 
       {
        print "<p><b>打开数据库时发生错误,请稍后再试!</b></p>";
        exit();
       }        
 $qu="select userid,password from usertable where   
      userid='$lguid' and password='$lgpsd'";
 $res=@mysql_query($qu,$link); 
    if($res==false) 
        {
        print "<p><b>数据库发生错误,请稍后再试!</b></p>";
        exit();
        }   
 $num=mysql_num_rows($res);
 if($num==1)   //表示该用户存在,密码也正确
     {
      $user=mysql_fetch_row($res);  //取select到的用户信息
      session_start(); //使用会话以便系统跟踪确认用户身份
      $snminid=$user[0];
      session_register("snminid"); //用户名作为会话变量来确认用户身份
      header("Location:thisuserhomepage.php"); //打开该用户的使用页面
      exit(); 
     }
 //不存在该用户或者密码输入错误时的处理
 print "<br><br><br>";          
 print "<p><b>请输入正确的用户称谓和密码</b></p>";
 exit();
 }
?>

解决方案 »

  1.   

    上文的代码是用户身份验证以及注册用户信息到系统Session,然后进入该用户有权限访问的页面thisuserhomepage.php
    为了防止他人非法垮过认证程序页面而直接访问页面thisuserhomepage.php,还必须在页面thisuserhomepage.php的首部加入以下代码:<?
     session_start();
     if(!session_is_registered("snminid"))
         {
          print "<p><b>您正在进行非法(非正常)操作,终止!</b></p>";
          exit();
         } 
    ?>上述全部代码,我在实际应用中已经通过测试但愿已能解决你的问题.
    我想一般的算法都和这种差不多的,在应用中上述代码回应客户的效率也不错的,而且使用Session机制保证了用户身份限制访问的实现。