-1

我可以设置会话变量并在另一个页面上使用它们。但是,当我尝试使用带有用户名和电子邮件地址的简单联系表单并尝试将它们存储到会话变量中时,它们不会出现在其他页面上。一定有一些基本的东西我错过了。

这是表格:

<?php
session_start();
$submit = $_POST["submit"];
if($submit){setSessionVars();}
function setSessionVars() {
    $_SESSION['name'] = $_POST['name'];
    $_SESSION['email'] = $_POST['email'];
    header('Location: session.php');
}
?>

<html>
<body>
  <form action="session.php" method"post">
    <input name="name" type="text" value="Name" size="11" /><br />
    <input name="email" type="text" value="Email" size="11" /><br /><br />
    <input name="submit" type="submit" value="Submit" size="11" />
  </form>
</body>
</html>

这是 session.php:

<?php
session_start();
echo $_SESSION['name'];
echo $_POST['name'];
?>

header('Location: session.php');

不管用。有任何想法吗?

4

2 回答 2

4

乍一看,我发现一个直接的问题会阻止表单发布。

<form action="session.php" method"post">

在方法和“post”之间需要一个“=”符号。

单独改变它会给你 session.php 中的“t”。

于 2012-05-12T16:47:34.320 回答
1

您将表格发布到session.php

<form action="session.php" method"post">

我将其更改为:

<form method="post">

这样,页面就会发布到自身。然后它可以注册会话变量并将用户重定向到session.php.

编辑:另外,您忘记了=登录method"post"

于 2012-05-12T16:42:45.197 回答