将多个表单中的值存储在$ _POST中

时间:2014-04-05 04:38:08

标签: php html post

我正在尝试将多个表单中的值存储在$_POST变量中。表单在不同的页面上,从我从测试中可以理解的,当我从表单提交值时,他们会覆盖"已经在$_POST.

中的值

这是我想要做的一个例子:

第1页 - 表格1

<?php 
session_start();
?>

<form method="post" action="page2.php">
First name : <input type="text" name="firstName" required ><br/><br/>
Last name : <input type="text" name="lastName" required ><br/><br/>
<input type="submit">
</form>

第2页 - 表格2

<?php 
session_start();
?>

<form method="post" action="page3.php">
Age : <input type="text" name="age" required ><br/><br/>
City : <input type="text" name="city" required ><br/><br/>
<input type="submit">
</form>

第3页 - 结果

<?php 
session_start();

echo $_POST['firstName'].'<br/>';
echo $_POST['lastName'].'<br/>';
echo $_POST['age'].'<br/>';
echo $_POST['city'].'<br/>';
?>

最后一页仅向我显示&#39; &#39; city&#39; 。现在,第1页上第一个表单的值未定义。以下是我得到的结果示例:

Notice: Undefined index: firstName on line 4

Notice: Undefined index: lastName on line 5

65
   纽约

3 个答案:

答案 0 :(得分:4)

page2.php中的

把这个

<input type="hidden" name="firstname" value="<?=$_POST['firstname']?>">
<input type="hidden" name="lastname" value="<?=$_POST['lastname']?>">

答案 1 :(得分:1)

你也可以使用这样的会话变量:

// Page 1

<?php
      session_start();
      $_SESSION['user'] = array();
      $_SESSION['user']['firstName'] = $_POST['firstName'];
      $_SESSION['user']['lastName'] = $_POST['lastName'];
?>

// Page 2

<?php
      session_start();
      $_SESSION['user']['age'] = $_POST['age'];
      $_SESSION['user']['city'] = $_POST['city'];
?>

//结果

<?php
          session_start();
          echo $_SESSION['user']['firstName'];
          echo $_SESSION['user']['lastName'];
          echo $_SESSION['user']['city'];
          echo $_SESSION['user']['age'];
    ?>

答案 2 :(得分:0)

正如我在上面的代码中看到的那样,您试图将数据发布到两个不同的文件中。

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

此操作页面为 page2.php

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

您要将数据提交至 page3.php

您正在尝试访问

echo $_POST['firstName'].'<br/>';
echo $_POST['lastName'].'<br/>';
page3.php 中的

已传递到 page2.php 。当然,这不起作用,因为您只能访问通过表单的操作页面中的表单提交的值。