1

我想使用 php 会话将用户名传递到第二页,但它显示错误。


注意:未定义索引:第 5 行 D:\software 2\wamp\wamp\www\session\s2.php 中的 nam


我的第一页(s1.php)是这样的

<html>
<head>
<?php
  session_start();     

?>

</head>
<body>
<p>hello</p>


<form method="get" action=" http://localhost/session/s2.php">
<input type="text" name="nam"><br>
<input type="submit" value="Submit"><br>


</form>

</body>
</html>

我的第二页(s2.php)如下

<html>
   <head>
 <?php 
   session_start();
  echo $_SESSION['nam'];
?>
</head>
here is the second page
<body>

</body>
</html>

谢谢

4

4 回答 4

1

变量不会自动插入会话中。您需要以某种方式插入它们。如果您想从$_GET形式发布的 get 参数中获取变量,那么您正在寻找的是。

例如:

$_SESSION['name'] = $_GET['name'];

通过处理表单来查看

于 2013-06-23T20:53:33.230 回答
0

您需要将会话开始放在顶部

<?php
  session_start();     

?> 
<html>
<head>

您很可能看不到生成的错误。

另外,数据提交后,你不会在SESSION中拥有它,它会在$_GET['name']

我建议您在本地计算机上工作时将其设置error_levelE_ALL

于 2013-06-23T20:52:37.370 回答
0

在 PHP 中,表单中的变量通过 GET 或 POST 传递。在你的情况下,你使用

<form method="get" action=" http://localhost/session/s2.php">

所以类型是 GET ( method="get")。要读取 GET 变量,请使用 _GET,而不是 _SESSION。如果您想要 POST 变量,请使用 _POST。

在你的情况下,使用_GET['nam']而不是_SESSION['nam']

于 2013-06-23T20:53:24.827 回答
0

你应该:

在 echo $_SESSION['nam']; 之前添加这一行 $_GET['nam']=$_SESSION['nam'];

或回显 $_GET['nam'];

祝你好运

于 2013-06-23T21:14:37.803 回答