2016-08-11 8 views
2

私はこれに対する答えを探しましたが見つかりませんでした。この質問に既に答えがある場合は、正しい方向に私を指摘してくださいが、私はちょうど違う言葉です。phpセッションデータを1つ以上のセッションから取得します

新しいユーザーが登録するときにセッションを設定する登録ページがあります。次に、ユーザーが戻ってログインするときのログインページがあります。ログインページでは、別のセッションが設定されます。

いずれかのセッションが設定されているかどうかを確認するにはどうすればよいですか?

session_start(); 
if (empty($_SESSION['Register'])or empty($_SESSION['Login'])){ 
    header("location:../notLoggedIn.php"); 
} 
+0

すべての最初のセッションの必要性は何であるの

この

は私がしようとしているものです($ _ SESSION ['Login'])){' –

+0

私はセッションを開始してuser_idを保存することができます。データベースから削除し、それを使用してユーザーが自分のプロファイルを編集できるようにします(データベース内の行を更新します) – tdrsam

+0

登録時の帽子は何も関係するセッションを行う必要はありません。ログインページでは、ユーザーが存在するかどうかを指定の資格情報で確認し、必要な場合はセッションにデータを追加し、プロファイルページにリダイレクトする必要があります。各ページでセッションを開始し、そのデータが存在するかどうかを確認しますか?そうでない場合は、ログインページにもう一度お送りください –

答えて

0

私は前にempty()を使用していませんでしたが、私はいつも以下のコードを使用している:

// Your original solution 
if (!isset($_SESSION['Register']) || !isset($_SESSION['Login'])){ 
    header("location:../notLoggedIn.php"); 
} 
// using AND instead of OR 
if (!isset($_SESSION['Register']) && !isset($_SESSION['Login'])){ 
    header("location:../notLoggedIn.php"); 
} 
// Nesting the IF 
if(!isset($_SESSION['Register'])){ 
    if(!isset($_SESSION['Login'])){ 
     header("location:../notLoggedIn.php"); 
    } 
} 
+0

それは正しいと思われ、私が期待していたようなものでしたが、セッションの1つを使用する場合にのみ機能します。で、登録セッションのコードを削除すると、私はログインすることができますが、2つのセッションがifステートメントにある場合はログインできません。 – tdrsam

+0

この場合、私はステートメントのネストを提案します。論理ORを使用しているため、条件の1つのみが満たされます。 両方の条件が満たされる必要がある場合は、論理AND を使用する必要があります。このシナリオでは、ステートメントをネストすることができます。 私は両方の解決策で自分の答えを編集します:) – Martin

+0

明日もやり直します。今日は時間がない。 – tdrsam

関連する問題