ホームページ  >  記事  >  バックエンド開発  >  この問題がこのページに常に表示されるのはなぜですか?

この問題がこのページに常に表示されるのはなぜですか?

WBOY
WBOYオリジナル
2016-06-20 12:36:58940ブラウズ

< div id="返信">

<フォームメソッド="POST">
<入力タイプ=" text" name="name" >




以下は挿入ステートメントです
$pdo=new PDO("mysql:host=localhost;dbname=t1","root"," ");
$stnt=$pdo->prepare("返信(reid,name,content)values(:reid,:name,:content)に挿入");
$stnt->execute ($_POST ; プロンプト ボックスは下の図の内容です。クリックして続行すると、送信したデータが再びデータベースに挿入されます。また、ブラウザを変更してページを更新すると、このボックスもプロンプトが表示されますこれが最初の質問です。


2 番目の問題は、上記のコードがデータベースにデータを挿入しておらず、生成されていないため、投稿リストからこの投稿をクリックすると、エラー メッセージが表示されることです。データを挿入するとエラーメッセージは消えますが、このページに送信された返信であるため、毎回エラーが報告されます。このような if 判定ですが、エラーは報告されませんが、データを送信した後にデータをデータベースに挿入できません。 この問題の解決方法
if(isset($_GET['reid' ])
{
$pdo=new PDO("mysql:host=localhost;dbname=t1","root","" );
$stnt=$pdo->prepare("挿入) into Reply(reid,name,content)values(:reid,:name,:content)");
$stnt->execute( $_POST);
}






ディスカッション (解決策) への返信 1.ページでは、$_POST のコンテンツも引き継がれます。したがって、リフレッシュはフォームの繰り返し送信と同等です 2. 判断は、$_GET ではなく $_POST['reid'] を判断する必要があります

1. ページをリフレッシュすると、ページのコンテンツが$_POST はコンテンツも持ち出します。したがって、更新はフォームの繰り返しの送信と同じです

2. 判断は、$_GET ではなく、$_POST['reid'] を判断する必要があります。

2 番目の質問を変更しましたが、問題ありません。まずこの問題をどうやって解決するか?

最初の問題は、次の方法で解決できます。

実際の処理データ部分を別のファイルに置き、処理後に表示ページにリダイレクトします。

最初の問題は、次の方法で解決できます。

実際の処理データ部分を別のファイルに置き、処理後に表示ページにリダイレクトします。

挿入したデータのコード部分を別のファイルに書き込み、挿入が完了したらジャンプして戻るということですね。私が昨日尋ねた別の投稿を見てください。
http://bbs.csdn.net/topics/391903553 このコードは、送信された投稿の値を省略するために次のようになります。このページに投稿しましたが、投稿値を元に戻さなければなりません。

「その POST 値」とは何を意味しますか?データを正常に挿入した後に戻ったページにこれらの値を再度表示する必要がありますか?この場合は、前のページに戻ってレコードの ID を取得し、データベース クエリを使用してレコードを取得し、フィールドをフォームに割り当てることをお勧めします。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:間隔値のチェックに関する問題についてアドバイスをお願いします。次の記事:間隔値のチェックに関する問題についてアドバイスをお願いします。

関連記事

続きを見る