2011-08-15 24 views
-3

私のウェブサイトでは、サーバー側でフォームチェックを行っています。予期せぬ入力がユーザから来たとき、私はフォームがどこから来たのかをポストしたいと思う。私はいくつかのユーザー定義のクラスとphp.net上で機能が見つかりましたが、それらは動作しませんでした。誰でもこのことについて私を助けることができますか?PHP投稿フォームヘッダーに戻る

私はaddCompany.phpページを持っていて、それはフォームを持っているとします。そして、私は2番目のページaction.phpを持っています。 addCompany.phpのフォームはaction.phpページに送られます。私は検証のためにフォームをチェックします。エラーが表示され、フォームをaddCompany.phpに投稿したいと思います。通常、文字列制限のため安全ではありませんが、クエリ文字列で送ることができます。したがって、私はこのようにリダイレクトしている間にフォームを送り返したいと思っていますheader('Location:addCompany.php')

答えて

0

通常、同じページでフォームを処理して、検証が正常であれば次のステップにリダイレクトします。フォーム。ここで

はpseudocodish例です:

<?php 
// form.php 

if(isset($_POST[ 'submit' ]) && form_validates($_POST)) { 
    // do what you want with the data 
    // redirect to the next stage 
    header('Location: next.php'); 
    die(); 
} 

// didn't validate or no submit yet, show the form again 

if(isset($_POST[ 'email' ])) { 
    $email = $_POST[ 'email' ]; 
} 
else { 
    $email = ''; 
} 
?> 
<form action="form.php"> <!-- submit to same page --> 
<input type="text" name="email" value="<?php echo $email; ?>" /> 
<?php if(/* email field didn't validate */) { 
    echo 'Please enter a valid email address'; 
} ?> 
<input type="submit" name="submit" /> 
</form> 
+0

は、あなたは私が編集した再質問を読むことができます。私は誤解があったと思います –

+0

私の提案は、action.phpとaddCompany.phpを1つのスクリプトに結合することです。そうすれば、既に存在しているので、検証エラーの後にページをリダイレクトすることについて考える必要はありません。スクリプトに再度フォームを表示させてください。 – JJJ

+0

私のシステムはそれほど単純ではありませんあなたが提案したように自分のシステムを変更することはできません。 –