我退出时页面没有正确重定向

时间:2015-06-09 18:47:00

标签: 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 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
}
?>

我正在评论session_start(),因为我已经在另一个包含的php文件中启动了会话。

我无法理解为什么页面没有正确地重定向到index.php文件。

3 个答案:

答案 0 :(得分:0)

取消注释您的会话开始

session_start();

在开始会话之前,请确保没有html

答案 1 :(得分:0)

header()功能需要位置:绝对路径,例如http://example.org

  

注意:   HTTP / 1.1需要绝对URI作为»Location:包括方案,主机名和绝对路径的参数,但某些客户端接受相对URI。您通常可以使用$ _SERVER ['HTTP_HOST'],$ _SERVER ['PHP_SELF']和dirname()自己创建一个相对的URI:[...] [SOURCE] 1

此时,您的标头功能在大多数服务器上都不正确。我有一个接受相对URI的服务器和一个需要绝对URI的服务器。

您应该在exit()之后使用header来压制脚本的进一步执行。

答案 2 :(得分:0)

我注意到你的代码中有一个include,你说session_start()就在那里。只需确保include中没有任何输出。而session_start实际上是第一个在那里调用的东西。

更多信息: http://php.net/manual/en/function.header.php

http://php.net/manual/en/function.session-start.php

相关问题