存储用户输入并通过多个页面使用它

时间:2013-07-22 16:19:59

标签: php html

我有一项任务,我不能将mySQL用于汽车订购系统。

我被要求获得品牌,型号,颜色,选项的输入,然后在评论和完整页面中显示它们。

我必须在单个页面中创建它们。例如(品牌:丰田)点击下一步,打开(模型:camry)点击下一步等等。我的问题是我必须将它们分开。我只保留上一页的数据。

有人可以提供帮助。我会提供一些代码。

要求汽车品牌:( order.html)

<form action="order_model.html" method="post">
  Brand:
  <input type="text" name="brand" size="20" maxlength="20">
  <input type="submit" value="Next >>">
</form>

要求模型:(order_model.html)

<form action="process.php" method=post>
  Model:
  <input type="text" name="model" size="20" maxlength="20">
  <input type="submit" value="Next >>">
</form>

PHP文件:(process.php)

<?php
$brand = $_POST['brand'];
$model = $_POST['model'];
?>

<p>Review and Complete Your Order:</p>

 //I shortened the code, these used to be in tables. 
Make: 
<?php echo $brand.' '; ?> //Does not display
Model: 
<?php echo $model.' '; ?> //Displays
<p><input type="submit" value=" Complete Order "></p>

当它显示process.php时,它只显示模型。我需要它来展示品牌和型号,在我弄清楚如何做之后我可以做颜色和其余的。

2 个答案:

答案 0 :(得分:3)

将order_model.html更改为:

<form action="process.php" method=post>
 Model:
  <input type="text" name="model" size="20" maxlength="20">
  <input type="hidden" name="brand" value="<?php if(isset($_POST['brand'])) echo  $_POST['brand']; ?>">  
  <input type="submit" value="Next >>">

</form>

更新:正如Phas1c所指出的,除了这些更改之外,您可能还想将order_model.html重命名为order_model.php并对order.html进行相应的更改。您可能还希望将该文件重命名为order.php以获得更好的一致性。

答案 1 :(得分:1)

使用会话在整个工作流程中维护您的表单值。来自第一篇表格帖子

<form action="order_model.html" method="post">
  Brand:
  <input type="text" name="brand" size="20" maxlength="20">
  <input type="submit" value="Next >>">
</form>

您将品牌保存到会话$_SESSION['brand'] = $_POST['brand']

从流程中保存模型$_SESSION['model'] = $_POST['model'];

然后,您可以在最终确定订单的地方使用它,并根据需要使用unset变量。