好的,這是我的問題。 我有一個登錄頁面。用戶登錄後,他被重定向到另一頁面。 現在,如果我按下後退按鈕,用戶將返回到登錄頁面,現在如果按下一頁按鈕,它將打開該用戶的個人檔案頁面,而不再詢問登錄信息。與註銷頁面相同的情況。如果用戶在註銷後按回來,他仍然可以看到他的個人資料。如何禁用返回在我的登錄頁面在PHP?
登錄頁面:
<?php
session_start();
?>
<html>
<head>
<link href="logdes.css" rel="stylesheet">
</head>
<body>
<div id="box">
<p id="p">Welcome to E-Voting</p>
<form>
<table width=40% align="center" id="tw">
<tr><td>Username:</td><td><input type="text" name="t1"></td></tr>
<tr><td>Password:</td><td><input type="password" name="t2"></td></tr>
<tr><td colspan="2" id="td"><input type="submit" value="Login" name="b1"> </td></tr>
</table>
</form>
</div>
</body>
</html>
<?php
if(isset($_REQUEST['b1']))
{
$k=$_REQUEST["t1"];
$q=$_REQUEST["t2"];
mysql_connect('localhost','root','');
mysql_select_db('project');
$a="select * from login where Username='$k' and password='$q'";
$rs=mysql_query($a);
if(mysql_num_rows($rs)>0)
{
$_SESSION['username1']=$k;
$_SESSION['password1']=$q;
while($row=mysql_fetch_array($rs))
{
if($row['val']==1)
header("location: adminportal.php");
else
header("location: userportal.php");
}
}
else
{
echo"No record found!";
}
}
?>
個人資料頁:
<?php
session_start();
if(!isset($_SESSION['username1']))
{
header("location: voterlogin.php");
}
else
{
$n=$_SESSION['username1'];
$q=$_SESSION['password1'];
echo"Welcome $n";
}
?>
<html>
<head>
<link href="logdes.css" rel="stylesheet">
</head>
<body>
<div id="box">
<p id="z">Voter's Portal</p>
<form>
<table width=50% align="center" id="tw">
<tr><td><a href="caninfo.php" class="f">List of Election Candidates</a></td> </tr>
<tr><td><a href="votenow.php" class="f" id="f1">Vote Now</a></td></tr>
<tr><td><a href="viewresults.php" class="f" id="f2">View Results</a></td></tr>
</table>
</form>
</div>
</body>
</html>
註銷頁:
<?php
session_start();
if(isset($_SESSION['username']))
{
$u=$_SESSION['username'];
$p=$_SESSION['password'];
destroy_session_and_data();
echo" You have been logged out.<br>Click <a href='index.php'>here</a> to return to the home page.";
}
else if(isset($_SESSION['username1']))
{
$k=$_SESSION['username1'];
$q=$_SESSION['password1'];
destroy_session_and_data();
echo" You have been logged out.<br>Click <a href='index.php'>here</a> to return to the home page.";
}
function destroy_session_and_data()
{
$_SESSION = array();
setcookie(session_name(), '' , time()-2592000, '/');
session_destroy();
}
?>
你有什麼試過?你收到了哪些錯誤信息?如果沒有顯示的錯誤消息,那麼請發佈您的PHP錯誤日誌。謝謝 –
您的登錄將會以會話形式存儲登錄信息,因此您在腳本頂部寫入session_start()的原因是....您需要清除登出時的會話並注意與緩存有關... ..你不明白的複製和粘貼代碼是婊子嘿? –
我懷疑登出代碼不正確..你能顯示代碼嗎? – user2399432