2016-03-28 109 views
0

我有2頁。這兩頁都有驗證表單。我希望在成功登錄第一頁(索引)時自動登錄第二頁。html/php登錄頁面(自動登錄第二頁,基於登錄索引頁面)

我該怎麼做?我應該使用單點登錄嗎?如果是,在這種情況下如何使用單點登錄?

+0

你如何使用驗證?首次登錄成功後,使會話在第二頁生效 –

+0

您是否在使用會話? –

+0

只需您尋找_SESSIONS_ –

回答

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"); 
     } 

.... 
.... 
    ?> 

注意:這是一個基本的樣品和不旨在是全面的解決方案。需要加強!