Php 关闭选项卡后session仍然有效
我创建php文件,用于检查用户登录。如果用户和密码正确,用户可以访问目录页面。然而,会议存在一些问题。重新打开浏览器后,仍会显示隐藏的数据。我知道当我关闭浏览器时,会话将被关闭,但这种情况似乎很奇怪。这是登录表单:Php 关闭选项卡后session仍然有效,php,mysql,session,Php,Mysql,Session,我创建php文件,用于检查用户登录。如果用户和密码正确,用户可以访问目录页面。然而,会议存在一些问题。重新打开浏览器后,仍会显示隐藏的数据。我知道当我关闭浏览器时,会话将被关闭,但这种情况似乎很奇怪。这是登录表单: <html> <body> <?php $LabelLogin=array("login"=>"login", "password"=>"password",
<html>
<body>
<?php
$LabelLogin=array("login"=>"login",
"password"=>"password",
);
echo "<h1> Login and Register Page </h1>";
echo "<form action='CheckLoginDetail.php' method=POST>";
foreach($LabelLogin as $keys =>$values)
{
if($keys=='password')
{
echo "$values <input type='password' name='$keys' /><br/>";
}
else
{
echo "$values <input type='text' name='$keys' /><br/>";
}
}
echo "<input type='submit' value='submit' />";
echo "<br/>click <a href='register.php'>here<a/> to register if you don't have an accout <br/>";
echo "</form>";
?>
</body>
不确定,但在执行此操作时:
if(@$_SESSION['access'] != 'yes')
如果会话不存在(因为您关闭了浏览器),它可能会绕过此条件
尝试:
您确实需要停止使用所有这些@
符号来消除错误。它会回来咬你Firefox不会在关闭时丢弃会话cookie,这是你正在签入的浏览器吗?您可以让它这样做,但将其配置为在关闭时不保存您的选项卡。Iam使用chrome与FF类似吗?请尝试创建一些小的代码示例来重现您的问题,而不是将其粘贴到应用程序的大块中。这不仅让其他人更容易理解和帮助你,制作这样一个例子的练习也可以帮助你更好地理解这个问题。对不起大家!我的问题是当我关闭浏览器会话上的一个选项卡时仍然有效,但当关闭整个浏览器会话时停止工作。该会话在选项卡关闭后仍然有效吗?如果(!isset($\u session['access']))$\u session['access']!='yes')
在您的答案中缺少一个
更改为如果(!isset($\u session['access']))\124;$\ u session['access']!='yes
。@user28228请查看我上面的评论--^然后您需要使用session_destroy()创建一个注销页面代码>在它里面@用户3228228
<?php
session_start();
include("connect.inc");
$connect=mysqli_connect($host,$username,$password,$dbname) or die ("can't connect to server");
if(@$_SESSION['access'] != 'yes')
{
include("FrontPage.php");
exit();
}
$query="SELECT * FROM dragon ";
$result=mysqli_query($connect,$query) or die("can't execute query");
echo "<hr/>";
while($row=mysqli_fetch_assoc($result))
{
extract($row);
echo $type."<br/>";
echo $CardName."<br/>";
echo $atk." \ ".$def."<br/>";
echo $Description;
echo "<br/>".$picture."<br/>";
echo "<br/>";
echo "<a href='../dragon/{$picture}'><img src='../dragon/{$picture}' height='300' width='300'></a>";
echo "<hr/>";
}
?>
if(@$_SESSION['access'] != 'yes')
if (!isset($_SESSION['access']) | $_SESSION['access'] != 'yes')