php表单重定向到另一个页面并接收值

时间:2013-03-10 12:34:56

标签: php

我有一个带有名为“BuyForm”的表单的php页面和一个单独的提交按钮..像这样

<form id="BuyForm" name="BuyForm" method="post" action="purchase.php" enctype="multipart/form-data">
// form goes here
//example of one field
<div class="wrapper"> Your Name:
<input type="text" class="input" name="txtUserName" value="<?php if(isset($user_name)){echo $user_name;} ?>" <?php if(isset($flag) && $flag == 1){echo "error";}?> >
</div>
// more form options

    

此表单在此页面“purchase.php”。 action =“purchase.php”的原因,即将此表单重定向回此页面是因为所有验证仅在此页面中。

现在有一个问题我坚持并寻求意见..

  1. 我想将这些表单值(例如name =“txtUserName”)传输到另一个页面,我知道我可以通过action =“otherpage.php”直接执行它并通过php接收它。 但这是不可能的,因为我必须将所有当前的验证移动到该页面(otherpage.php),如果有任何错误,那么我必须重定向回这个表单页面(purchase.php)这将浪费时间和带宽而不是一个好的编码.. 在这种情况下还可以做些什么?即如何将此页面的值发送到该页面?

  2. 关于上面的Q-1我如何才能在该页面上收到价值?

  3. 感谢期待..

3 个答案:

答案 0 :(得分:1)

将$ _POST值保存到数组中并通过标题位置发送。

我的例子:

$values = $_POST;

header('Location: other_page.php?'.http_build_query($values );

答案 1 :(得分:0)

使用会话怎么样?

session_start();
foreach ($_POST as $key=>$value){
   $_SESSION[$key]=$value;
}

通过它,您可以随时随地访问该值

答案 2 :(得分:0)

你可以这样做:

在你的purchase.php中:

if(!isset($_POST['var_name'])) {

//here the form code

}
else
{
//here's the validation
}