[英]Login / Logout using session in php
我正在使用帶有會話概念的php進行登錄注銷。 創建了4個文件
當我登錄會話開始時,我能夠使用定義的用戶名和密碼登錄。如果我在其他瀏覽器中復制了securepage.php文件但未打開,則login.php將導航至securepage.php,它將重定向至login.php vch效果很好。
但是,如果我在另一個標簽頁的同一瀏覽器中打開securepage.php,它將重定向到login.php,而是應該顯示securepage.php可以有人幫助我實現它,謝謝!
1.Login.php
<html>
<head>
<title>Login Form</title>
</head>
<body>
<h2>Login Form</h2>
<form method="post" action="checklogin.php">
USER ID: <input type="text" name="uid"/><br>
PASSWORD: <input type="password" name="pw"/><br>
<input type="submit" value="Login"/>
</form>
</body>
</html>
2.checklogin.php
<?php
$uid = $_POST['uid'];
$pw = $_POST['pw'];
if($uid == 'arun' and $pw == 'arun123')
{
session_start();
$_SESSION['sid'] = session_id();
header('location:securepage.php');
}
?>
3. securepage.php
<?php
session_start();
if($_SESSION['sid'] == session_id())
{
echo "welcome to you<br>";
echo "<a href='logout.php'>Logout</a>";
}
else
{
header('location:login.php');
}
?>
4.logout.php
<?php
echo "Logged out successfully";
session_start();
session_destroy();
setcookie(session_id(),time()-1);
?>
嘗試這個
在checklogin.php中
<?php
session_start();
$uid = $_POST['uid'];
$pw = $_POST['pw'];
if($uid == 'arun' and $pw == 'arun123')
{
$_SESSION['sid'] = '$uid'; # need to set user id instead of session_id()
if (isset($_SESSION['sid'])) {
header('Location: securepage.php');
}
else
{
echo "Error";
}
}
?>
在securepage.php中
<?php
session_start();
if(isset($_SESSION['sid']))
{
echo "welcome to you<br>";
echo "<a href='logout.php'>Logout</a>";
}
else
{
header('Location: login.php');
}
?>
在logout.php中
<?php
session_start();
if(!session_destroy())
{
echo "Failed to log out";
}
else
{
echo "Logged out successfully";
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.