不返回会话变量

时间:2014-02-03 13:49:13

标签: javascript php

我有2个php文件。 我想将$ myusername从一个页面发送到另一个页面。我在第一页中使用了$ _SESSION,但它仍然没有出现在第二页上。

第一页:

<?php
  $username=$_POST["username"];
  $count=mysqli_num_rows($result);

  if($count==1){
    header("location:the_cave.php");
    session_start();
    $_SESSION['username'] = $username;
  }
?>

第二页:

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

然后我想用JS把它放到一个范围内。但是跨度仍然是空的。

document.getElementById("username").innerHTML="<?php echo $username;?>";

2 个答案:

答案 0 :(得分:2)

你需要启动第一页的php代码:

session_start();

因此,请在第一页上尝试此代码:

<?php

  session_start();

  // all the other php code

  $username=$_POST["username"];
  $count=mysqli_num_rows($result);

  if($count==1){
    $_SESSION['myusername'] = $username;
    header("location:the_cave.php");
    exit();
  }

?>

并将用户名放在第二页的span中,只需使用以下代码:

<span id="username"><?php echo $_SESSION['username']; ?></span>

答案 1 :(得分:0)

在将值放入会话之前,您是否已使用session_start()在第一页中启动了会话?如果你这样做,请在使用javascript之前在第二页中尝试echo $username=$_SESSION['username'];,以确认您获得了所需的结果。

相关问题