2009-09-11 8 views
0

私は、ユーザーがメンバーシップデータにアクセスするためのHTTP認証を使用する古いWebサイトのスケルトンを扱っています。 アクセスコンテンツボタンは、次のとindex.htmlページへのリンクである:PHP - HTTP認証後にセッションを開始する方法

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

Iは、(ヘッダとリダイレクト次にセッションを開始するindex.phpページ)に変更したいと思います。

は、コンテンツ= "0へのphp相当するものはあり;この場合

私はちょうど

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

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

を使用することができますが、よりエレガントなものがある

答えて

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

推測します?セッションがヘッダーリダイレクトで動作するかどうかはわかりません(ページが実際には完全にロードされないため、セッションクッキーが保存されるかどうかわかりません)。しかし、試してみてください。

それはクッキーを保存しない場合は、このように、明示的にGETするvarとしてURLにセッションIDを含めて、その周りを取得することができる場合があります

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

うん、それはこのように動作します。また、完全なURLを指定する必要はありませんが、セッションはドメイン固有であり、ユーザーがこのページにどのようにアクセスしたか評価していないため、実際には実行しない方が良いです(www.exemple.comとexemple.comは異なるドメイン) – Havenard

関連する問題