为了账号安全,请及时绑定邮箱和手机立即绑定

警告:session_destroy():试图破坏未初始化的会话[使用的session_start

警告:session_destroy():试图破坏未初始化的会话[使用的session_start

PHP
MMMHUHU 2021-04-29 14:14:45
我知道我的代码非常入门,因为我刚开始使用php。很抱歉开始我已经读过其他有关的问题和解答警告:session_destroy():试图破坏未初始化的会话刚才提到的所有答案,我都需要在使用前使用session_start()session_destroy();但是他们并没有解释为什么即使我已经使用过session_start() 我也只是尝试登录而出现此警告的原因,然后出现仪表板页面,用户可以单击注销按钮来注销整个应用程序运行正常,唯一的问题是当我单击dashboard.php中的注销按钮时,它会转到注销页面并显示上面提到的警告login.php<?phpsession_start();}?><!DOCTYPE html><html><head>  <title>Login Page</title>  <link rel="stylesheet" type="text/css" href="style.css"></head><body><div class="header">  <h1 align="center">Login</h1></div>  orm action="" method="post">  <table align="center">    <tr><td align="right"><input type="email" name="email" placeholder="Email" required></td><td class="s1">*</td>    </tr>    <tr><td align="right"><input  type="password" name="pass" placeholder="Password" pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,12}" title="Must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters" required></td><td class="s1">*</td>    </tr>    <tr><td align="right"><input type="submit" value="Login"><td>    </tr>  </table>  <p align="center"><strong>Or</strong></p>  <p align="center">Create New acount <strong><input type="button" value="Sign Up" onclick="location.href='sign_up.php'"></strong></p>  <br>  <br>  <br>  <br>  <br><div class="footer">  <p><span class="s1">*</span> indicates mandatory feild<p></div></body></html><?phprequire 'connection.php'; // connectionif($_SERVER['REQUEST_METHOD'] === 'POST'){$email = $_POST['email'];$pass = $_POST['pass'];// getting username from database and storing into session variable///  $sql =mysqli_query($conn,"SELECT name FROM users WHERE email='$email'");  $sql1 = mysqli_fetch_assoc($sql);  $user_name = $sql1['name'];//  setting session variables  $_SESSION['user_name']= $cookie_name;  $_SESSION['timeout']=time();// check email exists or not$query=mysqli_query($conn,"SELECT email FROM users WHERE email='$email'");if(mysqli_num_rows($query) > 0)
查看完整描述

1 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

你跑了session_destroy()两次!这会导致您的错误。if语句中的代码在initial之后运行session_destroy()。


您也正在针对进行session_unset()同样的修复。


这是导致问题的代码(第二个session_destroy()返回false):


session_destroy(); // returns true

if(!session_destroy()) // returns false, because the session is already destroyed.

{

  echo "session not destroyed"; // this gets ran

}

else {

  echo "session destroyed";

}

您可以更改为此,以解决您的错误。


if(!session_destroy())

{

  echo "session not destroyed";

}

else {

  echo "session destroyed";

}


查看完整回答
反对 回复 2021-05-07
  • 1 回答
  • 0 关注
  • 226 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号