PHP - Как начать сеанс после HTTP-аутентификации - PullRequest
0 голосов
/ 11 сентября 2009

Я имею дело со скелетом старого веб-сайта, который использует http-аутентификацию для доступа пользователей к данным о членстве. Кнопка доступа к содержимому - это ссылка на страницу index.html со следующим:

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

Я хотел бы изменить это на страницу index.php, которая будет начинать сеанс, а затем перенаправлять с header ();

Есть ли php, эквивалентный content = "0; в этом случае?

Полагаю, я мог бы просто использовать

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

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

но есть ли что-нибудь более элегантное?

1 Ответ

1 голос
/ 11 сентября 2009
<?php
    session_start();
    $_SESSION['loggedIn']=true;
    header("Location: http://www.example.com/something.php");
?>

Не уверен, что сеансы будут работать с перенаправлением заголовка, хотя (поскольку страница на самом деле не загружается полностью, поэтому я не уверен, что файл cookie сеанса сохранится), но вы можете попробовать.

Если он не сохраняет cookie, вы можете обойти это, включив идентификатор сессии в URL в виде явной переменной GET, например:

<?php
    session_start();
    $_SESSION['loggedIn']=true;
    header("Location: http://www.example.com/something.php?".htmlspecialchars(SID));
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...