0

ユーザーが情報を入力してデータベースに送信できるようにする一連のフィールドを持つページを作成しています。このページは 'add.php' と呼ばれます。'form' タグを作成し、'process.php' という別のページに情報を投稿して情報を収集し、データベースに挿入しました。成功したかどうかをユーザーに知らせたいので、「add.php」ページで特定のことをユーザーに伝える方法を考えていました。「挿入成功!」のように ページの上部にあります。

「add.php」に「process.php」コードを含めてから、フォームのアクションで「add.php」を呼び出すことを考えましたが、ページが初めて読み込まれたときにコードが呼び出され、完全にデータベースへの空白のエントリ。

「送信」ボタンがクリックされた後にのみ true に設定される何らかのフラグを実装する必要がありますか? または、ページを更新してユーザーに挿入のステータスを伝える別の方法はありますか?

必要に応じて、関連するコードを貼り付けることができます。:)

ありがとう!

4

3 に答える 3

3

フォームと php でメソッドを使用していると仮定するとpost、投稿が作成されたかどうかを簡単に確認できます。

if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
  // form was posted, process and display output
}
else
{
  // nothing was posted, normal get request, show form
}
于 2012-09-28T14:40:35.013 に答える
0

これが私がすることです... 処理データを1つのファイルに保管し、最後にフォームファイルを含めます

//add.php

//if the form is submitted make the database entry
if(isset($_POST['foo']) AND $_POST['foo'] != '')
{
//code to process form submission
$success = 'success!';

}
//include the form
include addform.php

addform.php にフォームを入れます。エントリが成功したことを警告するために $success を監視している「isset」を含めます

//addform.php

<?php if(isset($success)){ echo "<h2> Data successfully entered! </h2>";} ?>

<form action='' method='POST'>
<input type='text' name='foo' />
//etc
</form>

したがって、フォームを送信すると、コードは add.php の先頭から始まります。「isset」は $_POST 送信を確認し、フォーム送信コードを実行して、success 変数を設定します。次に、フォーム ページが含まれます。フォーム ページには、成功変数を監視する「isset」があります。最初にページに移動するか、更新すると、add.php コードは最初のコード ブロック (フォーム送信のもの) をスキップし、データベースへの送信や成功変数の設定を行いません。

于 2012-09-28T17:22:04.083 に答える
0

クエリがうまく機能するかどうかを確認してください。例外がスローされなかった場合は、ほとんどが例外をスローし、適切なメッセージを出力に追加します。

まず、エラーをチェックして処理する必要があります

try
{

} 
catch(Exception $e){
header('Location:oldlocation.php?succ=0')
exit();
}
header('Location:oldlocation.php?succ=0')
exit();

すべてがうまくいけば、(コードに示されているように) 新しい場所にリダイレクトすることもできます。これは適切に行う必要があります。次のような追加データを使用して、古い場所にリダイレクトできます。

oldlocation.php?succ=1;

何か問題が発生した場合は、次の場所にリダイレクトします

oldlocation.php?succ=0

次に、$_GET["succ"] を使用して成功を取得し、適切なメッセージを出力します。

あなたが得るなら、コメントしてください。

于 2012-09-28T15:00:01.103 に答える