0

「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 に関して、そのページで値を受け取るにはどうすればよいですか?

期待してありがとう..

4

3 に答える 3

1

$_POST 値を配列に保存し、ヘッダーの場所を介して送信します。

私の例:

$values = $_POST;

header('Location: other_page.php?'.http_build_query($values );
于 2013-03-10T12:37:43.413 に答える
0

あなたはそのようなことをすることができます:

purchase.php で:

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

//here the form code

}
else
{
//here's the validation
}
于 2013-03-10T12:45:50.500 に答える
0

セッションの使用についてはどうですか?

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

これにより、どこからでもその値にアクセスできます

于 2013-03-10T12:43:36.647 に答える