html / php登录页面(在登录索引页面时自动登录到第二页)

时间:2016-03-28 05:31:49

标签: php html single-sign-on

我有2页。两个页面都有身份验证表单。我希望在成功登录第一页(索引)时自动登录第二页。

我该怎么做?我应该使用单点登录,如果是,在这种情况下如何使用单点登录?

1 个答案:

答案 0 :(得分:0)

通常应该有一个登录表单和机制。如果需要,应检查其他页面的身份验证。 这是一个基本机制

loginform.php

<?php
session_start();
if(isset($_SESSION['usr']))){
    if(!is_null($_SESSION['usr']) || $_SESSION['usr'] != ''){ 
    header('Location: yourpage.php');
    }
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> Login Form</title>
</head>
<body>

<div class="container">
 <form method="post" action="login.php">
      <div class="txt-big">Login</div>
      <div class="field">
       <label for="user_name">Username </label>
       <input type="text" size="30" name="usr" id="usr" class="text-input">
      </div>

      <div class="field">
       <label for="user_name">Password </label>
       <input type="password" size="30" name="pswd" id="pswd" class="text-input">
      </div> 

       <div class="field">

      <input type="submit" value="Login" name="login" class="btn btn-submit" >
       <input type="reset" value="Cancel" name="reset" class="btn btn-submit">
      </div>

    </form>


</div>

</body>
</html>

的login.php

<?php
session_start();
require ("mysqli.inc.php");
$username = $_REQUEST['usr'];
$password = $_REQUEST['pswd'];
$query = "Select * FROM `admin` WHERE username LIKE '" . $username . "' AND password LIKE '" . $password . "' ";
$r = mysqli_do($query);
if( $r ){
$_SESSION['usr'] = $username;
header("Location:"." yourpage.php");
}
else{
header("Location:"." loginform.php");
}
?>

logout.php

<?php
session_start();
session_destroy();
header('Location: loginform.php');
?> 
在yourpage.php中

检查是否已登录。这是执行

的基本方法

yourpage.php

<?php
session_start();
    if(!isset($_SESSION['usr']) || is_null($_SESSION['usr']) || $_SESSION['usr'] == ''){
    header("Location:"." loginform.php");
        } 

....
....
    ?>

注意:这是一个基本样本,并不是一个完整的解决方案。需要加强!