会用session和cookie吗?如果不会的话去查一下资料网站上大多系统都是用这个或是结合数据库来验证的

解决方案 »

  1.   

    你的变量$PHP_AUTU_USER=$_SERVER["PHP_AUTH_USER"];
    $PHP_AUTU_USER写错了吧
    实现你的要求,可以用session
    实例:#index.php验证部分
    <?
    if (!session_is_registered('loginuser'))
    {
    ?>
    <form name="login" method="post" action="log.php">
    <font face="宋体" size="3"> 账号: 
    <input type="text" name="name" size="10" maxlength="20">
    <br>
    密码: 
    <input type="password" name="passwd" size="10" maxlength="20">
    <input type="submit" name="action" value="登录">
    </font>
    </form><?
    }
    else
    {
    print ("<center><font face=宋体 size=3>");
    print ($userrealname);
    print ("您好!<br>您是第");
    echo "<font color=red>$loginTimes</font>";
    print ("次访问<br>");
    echo "<a href=editinfo.php target=main>修改资料</a><br>";
    echo "<a href=log.php?action=注销&page=index.php>注销登录</a>";
    print ("</font></center>");
    }
    ?>#log.php
    <?
    require("config.inc.php");
    session_start();
    if ($action=="登录")
    {
     if (!session_is_registered('loginuser')||($loginuser!=$name))
     {
            $table="users";
            mysql_connect($host,$user,$password);
            mysql_select_db($db);        $passwd = crypt($passwd, "CRYPT_MD5");        $query="select * from $table where name='$name' and passwd='$passwd'";
            $result=mysql_query($query);
            if ($row=mysql_fetch_array($result))
            {
                    session_register('loginuser');
                    session_register('userrealname');
                    session_register('loginTimes');
                    $loginuser=$name;
                    $userrealname=$row["realname"];
                    $loginTimes = $row["loginTimes"];
                    $loginTimes++;
                    $time = getdate();
                    $lastloginDate = $time["year"]."-".$time["mon"]."-".$time["mday"]." ".$time["hours"].":".$time["minutes"].":".$time["seconds"];
                    $query = "update $table set loginTimes=$loginTimes,lastloginDate='$lastloginDate' where name='$name'";
                    $result = mysql_query($query);
            }
            mysql_close();
     }
    }
    else if ($action=="注销")
    {
            if (session_is_registered('loginuser')) session_unregister('loginuser');
            if (session_is_registered('userrealname')) session_unregister('userrealname');
            if (session_is_registered('loginTimes')) session_unregister('loginTimes');
    }
    header("location:index.php");
    ?>
      

  2.   


    <?php
      function authenticate() {
        header('WWW-Authenticate: Basic realm="Test Authentication System"');
        header('HTTP/1.0 401 Unauthorized');
        echo "You must enter a valid login ID and password to access this resource\n";
        exit;
      }
     
      if (!isset($_SERVER['PHP_AUTH_USER']) ||
          ($_POST['SeenBefore'] == 1 && $_POST['OldAuth'] == $_SERVER['PHP_AUTH_USER'])) {
       authenticate();
      } 
      else {
       echo "<p>Welcome: {$_SERVER['PHP_AUTH_USER']}<br>";
       echo "Old: {$_REQUEST['OldAuth']}";
       echo "<form action='{$_SERVER['PHP_SELF']}' METHOD='POST'>\n";
       echo "<input type='hidden' name='SeenBefore' value='1'>\n";
       echo "<input type='hidden' name='OldAuth' value='{$_SERVER['PHP_AUTH_USER']}'>\n";
       echo "<input type='submit' value='Re Authenticate'>\n";
       echo "</form></p>\n";
      }
    ?>
      

  3.   

    怎么不用session啊?不知道你是怎么想的啊。
      

  4.   

    最好是用session,而且如果会员多的话,建议用数据库存储session,这样速度比较快