我真的不知道出了什么问题。我有我的注销页面,我将其重定向到登录文件夹:
<?php
//include $_SERVER['DOCUMENT_ROOT'].'/connect.php';
include $_SERVER['DOCUMENT_ROOT'].'/functions.php';
if(session_destroy()){
if(isset($_COOKIE['user_name'])){
setcookie("user_name", $user_name, time()-2592000);
}
}
header('location:'.$_SERVER['DOCUMENT_ROOT'].'/login/');
?>
但即使我尝试运行这样的代码,它总是会将我重定向回我的索引页面:
<?php
//include $_SERVER['DOCUMENT_ROOT'].'/connect.php';
//include $_SERVER['DOCUMENT_ROOT'].'/functions.php';
session_start();
if(session_destroy()){
if(isset($_COOKIE['user_name'])){
setcookie("user_name", $user_name, time()-2592000);
}
}
?>
不包含任何外部页面且没有标题位置,它仍然会将我重定向回索引页面,其次它在重定向到索引页面之后不会销毁会话,直到我重新加载它。请任何人知道可能的原因吗?
答案 0 :(得分:1)
$_SERVER['DOCUMENT_ROOT']
给出文件的目录根目录。对于 包含或重定向$_SERVER['SERVER_NAME']
以及http://
或https://
是必要的。
<?php
$base_url = 'http://'.$_SERVER['SERVER_NAME'];
include $base_url.'/functions.php';
if(session_destroy()){
if(isset($_COOKIE['user_name'])){
setcookie("user_name", $user_name, time()-2592000);
}
}
header('location:'. $base_url .'/login/');
?>