次のコードがあります。
<?php
...
?>
<script>
....
</script>
<html>
...
</html>
HTMLフォームを表示した後、JavaScriptが検証され、PHPがデータベースに保存され、確認メッセージが表示されます..しかし、何が起こるかというと、PHPが実行され、成功メッセージがエコーされた後、HTMLフォームもメッセージの下にあるように表示されます..これを避けるために私はできますか?
if(isset($_POST['name'])){
//your insert query
//your thanks message
}
else{
// Your html form
}
フラグ変数を使用するだけです:-
if(isset($some_var))
{
// do something
}
else{
// show html form
}
PHP を別のファイルに入れる (HTML ファイルを含めることができます)
return;
die();
exit();
ob_start()
HTML をバッファリングしたり、_clean
必要のないときに nirvana にフラッシュしたりするために、 と 関数を同じように使用します。
別のファイルに送信します (最初のポイントとほぼ同じ)。
php.iniでprepend を使用してスクリプトの前に ob を開始し、php.ini で追加して特定の状況下で出力を強制終了します (おそらくisset()
on 変数を使用して、送信があったかどうか、または単に$_POST
/があったかどうかを確認します$_GET
)。
また、他の誰かがすでに php について質問している PRG パターンも参照してください: Simple Post-Redirect-Get code example
フォームの「アクション」を使用して、確認メッセージがある別のファイルに投稿を送信できます。
if(!$_POST)
または、HTMLの前に条件を付けることはできません