2016-07-05 3 views
0

ユーザーが特定のリンク[基本的にはクリックするとユーザープロファイルページに移動するユーザーリンク]をクリックするたびに、別のページに移動しようとしています。

SESSION変数を保存してリンクと同じページに表示すると、そのユーザーに対応するすべての電子メールIDがエコーされますが、別のページに移動するとすぐにセッションが表示されます間違った結果[他の電子メールID]を表示します。

ここに私のコードです。

<a href="?navigate=true" id="user" name="<?php echo $email; ?>" class="user"><?php echo $firstName.' '.$lastName;?></a> 

このリンクは、データベースにレコードがある回数だけ表示されます。

<?php 

if(isset($_GET['navigate']) && $_GET['navigate'] == "true"){ 
    $_SESSION['email'] = $email; 
    echo $_SESSION['email']; 
    header('location: home.php'); 
} 

?> 

これで、このページ自体に上記のようなメールをエコーすると、そのユーザーに対応するすべてのメールが表示されます。このような。

user1 : emailid1 
user2 : emailid2 

しかし、私がhome.phpに移動するとすぐに、SESSION変数は常に最初の電子メールのみを出力します。

home.php

session_start(); 
echo 'email id is '.$_SESSION['email']; 

私はどこかに私が間違っているつもりです知っているが、任意の提案は大きな助けになるでしょう。

+0

ビューページやその他のページでセッションを開始できます。 –

+0

セッション変数を使用するすべてのページでセッションを開始する必要があるので、すべてのセッションコンテナページの最初の行はsession_start()にする必要があります。 – Mitul

+0

私はすでにhome.phpでそれを使用しています。上記の私の投稿を参照してください –

答えて

-1

下記のコードで試してください。

<?php 

if(isset($_GET['navigate']) && $_GET['navigate'] == "true"){ 
    session_start(); 
    $_SESSION['email'] = $email; 
    echo $_SESSION['email']; 
    header('location: home.php'); 
} 

?> 
+0

いいえ、動作していません –

+0

'$ email'はMitulのどこにありますか? –

+0

@RobbieAverill彼はコードを追加しました。$電子メールがすでにチェックされていれば。私は – Mitul

関連する問題