我想使用php会话将用户名传递到第二个页面但它显示出错误。
注意:未定义的索引:在D:''software 2''wamp''wamp''www''session''s2.php的第5行中的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>
感谢
变量不会自动插入会话。你需要以某种方式插入它们。如果你想从表单$_get发布的get参数中获取变量,那就是你想要的。
例如:
$_SESSION['name'] = $_GET['name'];
浏览处理表单
您需要将会话启动置于的顶部
<?php
session_start();
?>
<html>
<head>
您很可能没有看到生成的错误。
此外,在提交数据后,SESSION中还没有它,它将在$_GET['name']
中
我建议您在本地机器上工作时将error_level
设置为E_ALL
在PHP中,表单中的变量通过GET或POST传递。在您的案例中,您使用了
<form method="get" action=" http://localhost/session/s2.php">
所以类型是GET(method="get"
)。要读取GET变量,请使用_GET,而不是_SESSION。如果需要POST变量,请使用_POST。
在您的情况下,使用_GET['nam']
而不是_SESSION['nam']
您应该:
在echo$_SESSION['nam']之前添加此行;$_GET['nam']=$_SESSION['nam];
或echo$_GET['nam'];
好运