我有两个文件page1.php and page2.php
想在page1.php中实现将用户输入的姓名传递到page2.php中但是怎么也无法将session变量的值传过去
page1.php:<?php
Session_start();
if(isset($_POST['Submit']))
{
$_SESSION['myname']=$_POST['name'];
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<title>无标题文档</title>
</head><body>
<form id="form1" name="form1" method="post" action="Page2.php">
请输入你的姓名:
<label for="textarea"></label>
<p>
<input name="name" type="text" id="textarea" value="" />
</p>
<p>
<label for="Submit"></label>
<input type="submit" name="Submit" value="提交" id="Submit" />
</p>
</form></body>
</html>page2.php:
<?php
session_start();
//echo $_SESSION["myname"];
print_r($_SESSION);
?>session
想在page1.php中实现将用户输入的姓名传递到page2.php中但是怎么也无法将session变量的值传过去
page1.php:<?php
Session_start();
if(isset($_POST['Submit']))
{
$_SESSION['myname']=$_POST['name'];
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<title>无标题文档</title>
</head><body>
<form id="form1" name="form1" method="post" action="Page2.php">
请输入你的姓名:
<label for="textarea"></label>
<p>
<input name="name" type="text" id="textarea" value="" />
</p>
<p>
<label for="Submit"></label>
<input type="submit" name="Submit" value="提交" id="Submit" />
</p>
</form></body>
</html>page2.php:
<?php
session_start();
//echo $_SESSION["myname"];
print_r($_SESSION);
?>session
是三步,你这里只有两步
_POST是提交后才出现的,但你提交到page2(page1工作已经结束),page2却没有任何读取_POST的工作
客户端和服务器端的关系
输入数据(客户端)->提交->读取_POST(服务器端)/session赋值(服务器端)
page1->提交->page2page1的session start时,客户端还没有输入数据,何来_POST呢?
到提交后就跳到page2了,已经过了page1这个村了,哪有session赋值这个店呢?
<?php
Session_start();
if(isset($_POST['Submit']))
{
$_SESSION['myname']=$_POST['name'];
}
?>这行是干什么的呢?不就是当点击提交后,将输入的内容保存在全局变量$_SESSION['myname']中么
php工作完才发到客户端的
所以当客户端收到/看到(还没输入)表单的时候,page1已经结束工作了,已经没有page1里面php的事了
提交后是page2里面php的事,跟page1的php没有关系