PHP - 如何在HTTP身份验证后启动会话

时间:2009-09-11 04:57:34

标签: php http authentication session

我正在处理旧网站的骨架,该网站使用http身份验证来帮助用户访问会员资格数据。 访问内容按钮是指向index.html页面的链接,其中包含以下内容:

<meta http-equiv="REFRESH" content="0; url=http://www.example.com/something.php">

我想将此更改为index.php页面,该页面将启动会话,然后使用header()重定向;

是否有一个等效于content =“0的php;在这种情况下?

我想我可以使用

<?php 
session_start();
$_SESSION['loggedIn']=true;
?>

<meta http-equiv="REFRESH" content="0; url=http://www.example.com/something.php">

但还有什么更优雅的吗?

1 个答案:

答案 0 :(得分:1)

<?php
    session_start();
    $_SESSION['loggedIn']=true;
    header("Location: http://www.example.com/something.php");
?>

不确定会话是否可以使用标题重定向(因为页面实际上不会完全加载,因此我不确定会话cookie是否会保存),但您可以尝试。

如果它没有保存cookie,您可以通过将URL中的会话ID明确地包含在GET var中来解决这个问题,如下所示:

<?php
    session_start();
    $_SESSION['loggedIn']=true;
    header("Location: http://www.example.com/something.php?".htmlspecialchars(SID));
?>