在PHP中,切换到另一个页面,然后切换到当前页面,而不会丢失当前页面中的字段值

时间:2012-03-23 11:35:20

标签: php

我创建了一个表单 receipt.php ,其中数据以正常方式提供。到达名为付款方式的字段后,会提供两个单选按钮:

1。DD/cheque 2。E-transfer

单击radio1时,应显示dd_detail.php,单击radio2时,应显示e_trans.php。

填写dd或e-trans详细信息后,我需要点击“接受”按钮。然后我应该得到前一页 receipt.php 而不会丢失任何填充值。

问题是在点击 ACCEPT 按钮后,我输入的 receipt.php 页面的字段值为空.... !!!

该怎么做?

2 个答案:

答案 0 :(得分:0)

为什么不将它们存储在某个$_SESSION变量中,然后从第二个脚本中检索它们?

<强> e.g。 :

// First script
$_SESSION['myfield'] = $value;

// Second script
$value = $_SESSION['myfield'];

答案 1 :(得分:0)

PHP提供会话支持。它是基于cookie的,临时数据保存在服务器上。要开始使用,PHP的第一行必须是<?php session_start(); ?>

请注意,它必须是PHP程序中的第一件事 - NOTHING,包括空格,可以在它之前显示,否则会引发错误或无法正常工作。

之后,您可以读取/写入特殊的 $ _ SESSION 数组。例如,PHP文件的开头可能包含:

<?php
session_start();

// if user clicks submit, save this for later
if( isset( $_POST['username'] ) ) $_SESSION['username'] = $_POST['username'];
?>

现在,表单字段本身应该可以预先填充:

<input type="text" name="username" value="<?php echo $_SESSION['username'] ?>" />

如果您的数据相当易于管理,可以将整个$ _POST变量转储到$ _SESSION中。例如:

<?php if( !empty( $_POST ) ) $_SESSION['data'] = $_POST; ?>

之后你可以将上面保存的字段称为$ _SESSION ['data'] ['username']。您可以在工作流程中将其重新修改。