私の php プログラムは次のようなものです: ユーザーがフォームを送信すると、それがデータベースに書き込まれます:
if($_POST[wb])
{
mysql_query("insert into ... . . ", $connect);
$_POST[wb] = "";
つまり、$_POST[wb] が空でない場合、それはデータベースに書き込みます。自分でテストしてみたところ、フォーム送信後に書き込まれましたが、ページを更新すると再度書き込まれました。今後ページが更新されるたびに、書き込み操作が行われることになります。
(書き込み操作の後に $_POST[wb] = "" を使用してこの変数をクリアした場合でも、リフレッシュ後には書き込まれます)。
ディスカッションへの返信(解決策)
フォームのアクションがこのファイルを指している限り、作成者は PHP 処理ステートメントを別の PHP ファイルに置くことができます。
同じページで投稿の承認と送信の両方を行うのは非常に複雑です
送信後に他のページにジャンプするためのヘッダーを追加すると、更新を心配する必要がなくなります。
ポスターの意味がよくわかりません。元の投稿者は投稿フォームを使用して投稿しませんでしたか?
送信するにはボタンをクリックする必要があるので、作成者はどのように更新するのでしょうか?どのページを更新する必要がありますか? フォームのアクションがこのファイルを指している限り、作成者は PHP 処理ステートメントを別の PHP ファイルに置くことができます。
同じページで投稿を承認して送信するのは非常に複雑です
ブラウザのツールバーにある「更新」ボタンです。
submit.php などの別のページに送信する場合、index.php にジャンプするにはどうすればよいですか? (送信後も、index.php の内容がユーザーに返されるため)
また、別のページに送信された場合、Cookie はまだ有効ですか?
ブラウザの更新プロセス中にフォームが再送信される場合があります。 。他のブラウザを使用してテストすることをお勧めします。
Cookie はローカルに保存され、ブラウザの一時ディレクトリに存在し、有効期限が切れていない限り有効です。
あなたはおそらくセッションについて質問しているでしょう?セッションはページが閉じるまで有効です。
送信は次のように記述できます
echo "Added fully<script>window.location.href='/index.php'</script>"
これは自動的にインデックスに戻ります
js で確認します。値が空の場合、プロンプトが表示され、フォームは送信されません。
Cookie はローカルに保存され、ブラウザの一時ディレクトリに存在し、有効期限が切れていない限り有効です。
おそらくセッションについて質問しているのではないでしょうか?セッションはページが閉じるまで有効です。
送信は次のように記述できます
echo "追加されました<script>window.location.href='/index.php'</script>"
これにより自動的にインデックスに戻ります
ありがとうございます!あなたのメソッドにはスクリプトが必要ですが、その方法がまだわかりません。試しにlogin.phpなどのファイルでheader文を使ってindex.phpにジャンプしたところ、正常に動作することがわかりました。二度と提出しません、ありがとう!
ポスターの意味がよくわかりません。元の投稿者は投稿フォームを使用して投稿しませんでしたか?
フォームのアクションがこのファイルを指している限り、作成者は PHP 処理ステートメントを別の PHP ファイルに置くことができます。
同じページで投稿の承認と投稿を行うのは複雑になります
ありがとうございます!同じファイル内に送信ページと送信承認ページを含めるのは非常に複雑だと思います。そして、このような問題が起こりやすいのです。あなたの提案を聞いた後、ログイン、送信、その他の機能を別の php ファイルに分割し、これらのファイルを処理した後、ヘッダーを使用して Index.php に戻りました。かなりうまく機能しています。
役に立ちました 勉強になりました 私も初心者です