【发布时间】:2013-01-24 13:13:53
【问题描述】:
我已经编辑了我的.htaccess 文件,因此mydomain.com/events.php?slug=1234 表单的页面变为mydomain.com/events/1234。
以下是来自events.php的代码:
我的登出代码在下面<body>:
<?php if(isset($_SESSION['id'])){?>
<a href="?<?php echo $url; ?>&logout" ><button>Log Out</button></a>
<?php } ?>
而且,在页面的开头,我有:
<?php
define('INCLUDE_CHECK',true);
require_once('13/functions/db.php');
session_name('tryst1');
session_set_cookie_params(3*7*24*60*60);
session_start();
$userid = $_SESSION['id'];
$useremail = $_SESSION['email'];
$username = $_SESSION['name'];
$slug = $_GET['slug'];
$url="http://mydomain.com/events/".$slug."/";
if(isset($_GET['logout']))
{
$_SESSION = array();
session_destroy();
header('Location: ' . $url);
exit;
}
但是,我无法退出,显示的 URL 是:http://www.mydomain.com/events/1234/?http://domain.com/events/1234/&logout
需要帮助。我做错了什么?
我的events.php的起始php代码是::http://dpaste.com/915935/
我的.htaccess 文件位于:: http://dpaste.com/915939/
【问题讨论】:
-
@PeterSzymkowski:是的。我随机选择了一个名字。当我没有编辑
.htaccess文件时,注销工作。 -
$url嵌入到注销链接时一定是错误的。当您将鼠标悬停在浏览器中的链接上时,您会得到什么?可能是那个“错误”的网址。检查 $url 的构建位置。 -
@PeterSzymkowski:那么,我应该删除整个
session_name('tryst1');部分吗?我不想让其他人退出。 -
@xan 没关系,我在考虑 session_id。 :)
标签: php .htaccess session logout