我是PHP的新手。我正在尝试执行这个简单的代码。从一个php页面获取文本字段值,我想在另一个php页面中显示它。但是,它不起作用。我的错误在哪里?
new1.php
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<form action="welcome1.php" method="POST">
<input name="Name" type="text" />
<input name="submit" type="submit" value="Submit" />
</form>
</body>
<?php
SESSION_START();
$var="";
if(!empty($_POST['Name'])){
$var=$_POST['Name'];
} else {
$var="NOT SET";
}
$_SESSION['name11']=$var;
?>
</html>
welcome1.php
<html>
<body>
<?php
session_start();
$n="";
if(isset($_SESSION['name11'])){
$n=$_SESSION['name11'];
echo $n;
} else {
echo "no session";
}
?>
</body>
</html>
答案 0 :(得分:1)
您的代码位于错误的文件中。
这应该都在welcome1.php中,目前它在new1.php中。
<?php
SESSION_START();
$var="";
if(!empty($_POST['Name'])){
$var=$_POST['Name'];
}
else
{
$var="NOT SET";
}
$_SESSION['name11']=$var;
?>
答案 1 :(得分:0)
你的代码错了。只是因为需要在发送标题之前运行session_start()。
您案例中的解决方案是:
移动session_start();以上&lt; HTML ...
请访问: Why can't I use session_start() in my php script? It says headers are already sent
答案 2 :(得分:0)
问题是因为您将表单发布到welcome1.php(表单的操作)和代码以获取post值为new1.php。
将文件更改为:
<强> new1.php 强>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<form action="welcome1.php" method="POST">
<input name="Name" type="text" />
<input name="submit" type="submit" value="Submit" />
</form>
</body>
</html>
<强> welcome1.php 强>
<?php
session_start();
$var="";
if(!empty($_POST['Name'])){
$var=$_POST['Name'];
} else {
$var="NOT SET";
}
$_SESSION['name11']=$var;
echo $_SESSION['name11']; /// you get this $_SESSION['name11'] in all the pages.
?>