好的,这是我的问题。 我有一个登录页面。用户登录后,他被重定向到另一页面。 现在,如果我按下后退按钮,用户将返回到登录页面,现在如果按下一页按钮,它将打开该用户的个人档案页面,而不再询问登录信息。与注销页面相同的情况。如果用户在注销后按回来,他仍然可以看到他的个人资料。如何禁用返回在我的登录页面在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