【问题标题】:Storing Form Data as a Session Variable on Multiple Pages将表单数据作为会话变量存储在多个页面上
【发布时间】:2019-01-31 15:01:51
【问题描述】:

我只是想知道是否可以将表单数据存储为多个页面上的会话?

我的网站上有 5 个页面,每个页面都有一个带有输入字段的表单。 我想在所有 5 页上保存所有会话和输入值,并在最后一页上保存echo

我已将session_start(); 保存在一个文件中,并将其包含在每一页中:

session_start.php

<?php
   session_start();
?> 

&lt;!DOCTYPE html&gt;之前的页面顶部,我在每个页面上都添加了这样的内容:

第 1 页:

<?php

    include("config.php");
    require_once("session_start.php");

if (isset($_POST['submit'])) { 
 $_SESSION['email'] = $_POST['email'];

 } 

?>

然后在正文中:

<form action="" method"post">
<input type="text" name="email"/>
<input type="submit" name="submit" value="Enter" />
</form>

第 2 页:

<?php

        include("config.php");
        require_once("session_start.php");

    if (isset($_POST['submit'])) { 
     $_SESSION['passwort'] = $_POST['passwort'];

     } 

    ?>

then in the Body again:

    <form action="" method"post">
    <input type="text" name="passwort"/>
    <input type="submit" name="submit" value="Enter" />
    </form>

我可以在第 2 页上回显email Session,而不会出现以下问题:

<?php
echo $_POST["email"];
 ?>

但是如果我按照与第 1 页相同的方式进行操作,则会在页面 Undefined index: passwort 上出现错误。

然后继续其他 3 页,我的方式有什么问题? 使用我的代码,我只能从之前的页面保存会话,并在下一页保存echo

感谢收看!

【问题讨论】:

  • 如果存储在SESSION中,则通过$_SESSION['email']$_SESSION['passwort']提取存储的数据;
  • 嗯不明白..你的意思$_SESSION['passwort']
  • echo $_SESSION['passwort']
  • 是的,我如何在第 5 页上 echo 它?有了这个我可以echo它只能在表单的下一页上..

标签: php session session-variables


【解决方案1】:

只要您在每次新页面加载开始时成功调用session_start();,您就会将之前存储的会话数据转发出去。

是的,您每次都需要将表单提交数据从$_POST 传输到$_SESSION 数组。

在第 1 页的这个 sn-p 之后:

if (isset($_POST['email'])) { 
    $_SESSION['email'] = $_POST['email'];
}

您的会话将包含:

$_SESSION = ["email" => "example@email.com"];

然后在第 2 页的这个 sn-p 之后:

if (isset($_POST['passwort'])) { 
    $_SESSION['passwort'] = $_POST['passwort'];
}

您的会话将包含:

$_SESSION = [
    "email" => "example@email.com",
    "passwort" => "p@$$w()rt"
];

以此类推,以供后续页面使用。

当您想检查数组中的内容时,只需调用 var_export($_SESSION)

当您想要访问特定元素时,请使用它们的键。

例如echo $_SESSION['passwort'];

【讨论】:

    猜你喜欢
    • 2011-04-17
    • 2021-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2011-01-21
    • 2012-05-31
    • 2017-08-26
    相关资源
    最近更新 更多