Php 页面不是';当我注销时不能正确重定向
取消对会话开始的注释Php 页面不是';当我注销时不能正确重定向,php,mysql,session,redirect,Php,Mysql,Session,Redirect,取消对会话开始的注释 <?php // Establishing Connection with Server by passing server_name, user_id and password as a parameter include 'connection.php'; // session_start(); $user_check=$_SESSION['login_user']; // SQL Query To Fetch Complete Information Of
<?php
// Establishing Connection with Server by passing server_name, user_id and password as a parameter
include 'connection.php';
// session_start();
$user_check=$_SESSION['login_user'];
// SQL Query To Fetch Complete Information Of User
$ses_sql=mysqli_query($conn, "SELECT * FROM auth where email='$user_check'");
$row = mysqli_fetch_assoc($ses_sql);
$login_session =$row['email'];
$username =$row['name'];
$created_at =$row['created_at'];
$city =$row['city'];
$phone =$row['phone'];
$profile_photo =$row['photo'];
if(!isset($login_session)){
mysqli_close($conn); // Closing Connection
header('Location: index.php'); // Redirecting To Home Page
}
?>
另外,在开始会话之前,请确保没有html函数需要位置:绝对路径,例如
注:
HTTP/1.1需要一个绝对URI作为»位置:包括方案、主机名和绝对路径的参数,但有些客户端接受相对URI。通常,您可以使用$\u服务器['HTTP\u HOST']、$\u服务器['PHP\u SELF']和dirname()从相对URI生成绝对URI:[…][源代码]
到目前为止,您的头函数在大多数服务器上都不正确。例如,我有一台服务器接受相对URI,另一台服务器需要绝对URI
您应该在
标题之后使用exit()
来抑制脚本的进一步执行。我注意到您的代码中有一个include
,您说会话启动()就在那里。只需确保include
中没有任何输出。而session_start实际上是这里调用的第一个东西
更多信息:
呃。。。为什么这被注释掉了//session_start()代码>?您的整个代码取决于它是否被注释掉。还要确保在标题之前没有输出。检查是否要进入if条件。我认为您的$login_会话将始终被设置,因为您正在声明它。您的index.php
是否在同一目录/文件夹中?它应该是一个绝对路径,但大多数浏览器将接受一个相对路径并“正常工作”。
session_start();