这似乎很简单,但是无论如何我无法将我的sessionvariable从第一页传递到第二页。 我已经搜索了解决方案,但找不到任何解决方案。据我所知,我在发送任何标题之前都在两个页面上开始会话。
第1页上的代码
<?php session_start()?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form action="page2.php" method="POST">
<input type="text" name="username" id="username">
<input type="submit" name="submit" id="submit">
<?php if(isset($_POST['submit'])) {
$username = $_POST['username'];
$_SESSION['username'] = $username;
}
?>
</form>
</body>
</html>
第2页的代码
<?php session_start()?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<?php
echo "This is from my session: "." ". $_SESSION['username'];
?>
</body>
</html>
因此在第二页(page2.php)上,出现此错误:
注意:未定义的变量:用户名位于C:\ xampp \ htdocs \ page2.php中 第12行
这是在我的会议上
答案 0 :(得分:9)
您的表单发布到=CurrentRecord
,因此page2.php
上没有达到会话设置位
您需要将该代码添加到page1.php
中
page2.php
答案 1 :(得分:0)
查看您的代码-错误在page2.php上,您将表单提交到page2.php,但未在page2.php中设置任何值。
应该是这样的:
page1
<?php session_start()?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form action="page2.php" method="POST">
<input type="text" name="username" id="username">
<input type="submit" name="submit" id="submit">
</form>
</body>
</html>
第2页
<?php session_start()?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<?php
if(!empty($_POST['username'])) {
$username = $_POST['username'];
$_SESSION['username'] = $username;
}
echo "This is from my session: "." ". $_SESSION['username'];
?>
</body>
</html>
答案 2 :(得分:-1)
有推荐的答案很好用。以下内容也应该起作用。我认为最基本的是检查会话是否可以从一页传递到另一页。请参见下面的代码。基本上有两件事-1.表单操作应设置在同一页面上&2.设置会话后重定向
注意:page2.php不需要更改
<?php session_start()?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form action="" method="POST">
<input type="text" name="username" id="username">
<input type="submit" name="submit" id="submit">
<?php
if(isset($_POST['submit'])) {
$username = $_POST['username'];
$_SESSION['username'] = $username;
header("Location: page2.php");
}
?>
</form>
</body>
</html>