$ _SESSION无效/在PHP中发送错误结果

时间:2016-07-05 04:27:38

标签: php session

每当用户点击特定链接时,我都会尝试导航到其他页面[基本上这些是点击后导航到用户个人资料页面的用户链接]。

我的问题是,如果我存储SESSION变量并将其显示在与链接相同的页面中,它会回显与该用户对应的所有电子邮件ID,但只要我导航到其他页面,我就会看到SESSION显示错误的结果[其他一些电子邮件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'];

我知道我在某个地方出错了,但任何建议都会有很大的帮助。

1 个答案:

答案 0 :(得分:-1)

尝试使用以下代码。

<?php

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

?>