Php 除非我销毁不存在的会话,否则会话不会被存储?
除非我销毁不存在的会话,否则会话不会被存储。我正在尝试创建登录表单,每次登录时它都不起作用,除非我转到logout.php,它有session_destroy();然后,当我再次登录时,它可以完美地工作 代码:Php 除非我销毁不存在的会话,否则会话不会被存储?,php,mysql,session,Php,Mysql,Session,除非我销毁不存在的会话,否则会话不会被存储。我正在尝试创建登录表单,每次登录时它都不起作用,除非我转到logout.php,它有session_destroy();然后,当我再次登录时,它可以完美地工作 代码: 您始终可以使用以下方法测试会话: if(! isset($_SESSION)) session_start(); 除上述内容外,如果您想考虑检查会话是否因某种原因被禁用,您可以取消显示错误消息,设置测试会话变量,然后验证是否已设置该变量。如果不是,您可以为禁用的会话编写响应代码。您将希
您始终可以使用以下方法测试会话:
if(! isset($_SESSION)) session_start();
除上述内容外,如果您想考虑检查会话是否因某种原因被禁用,您可以取消显示错误消息,设置测试会话变量,然后验证是否已设置该变量。如果不是,您可以为禁用的会话编写响应代码。您将希望在脚本开始或接近开始时执行所有这些操作。例如(根据错误处理设置的不同,工作方式不同):
另外,如果您使用的是PHP5.4+,还有一个很酷的小技巧,叫做session\u status()
希望这能有所帮助。请注意,它们已不再维护,并且正在使用中。而是学习,并使用或。
<?php
@session_start();
require_once ( 'include/functions.php' );
if(!isset($_SESSION['id'])) {
print ("
<div id='login'>
<p id='loginp'>تسجيل الدخول </p><br><br>
<form action='index' method='post' id='form'>
<input type='text' name='username' placeholder='اسم المستخدم' class='linput'> </input><img src='images/login.png' class='limg'></img><br><br>
<input type='password' name='password' placeholder='كلمة السر' class='linput'></input><img src='images/lock.png' class='limg'></img><br><br>
<input type='submit' name='submit' value='دخول' class='lbutton'> </input>
</form>
<br>
<hr id='hrlogin'>
<div id='aga'><p id='new'>لاتمتلك حساب؟</p>
<a href='signup.php' id='nhref'>أنشئ حساب جديد</a></div>
</div>
");
$users = new users();
$users->login();
} else {
echo "<meta http-equiv='refresh' content='0,overview'>";
}
?>
if(! isset($_SESSION)) session_start();
$_SESSION['valid'] = 'valid';
if('valid' !== $_SESSION['valid'])
{
// handle disabled sessions
}
if (PHP_SESSION_NONE === session_status()) session_start();