PHP の投稿を更新
私のphpコードは次のとおりです:
オンライン掲示板< ;/タイトル>
頭>
<本文> ($file_name, $message) = fopen($file_name, "a"); // ファイルを追加モードで開きます
$メッセージ);
群れ($fp, LOCK_UN); S}
o "ファイルをロックできません & lt; br & gt;" ";"; // ファイル リソースを閉じます
//読み取りファイルの関数read_message {$ buffer = ""; $data as $line)
list($user_name, $title, $message) = $arr;
if($user_name != "" && $title != "" && $message != "")
{flock($ fp、lock_un); fclose($ fp); $_POST['title']) && !empty($_POST['mess']))
= $_POST['user_name']."||".$_POST['title']."|| 「.$ _POST['混乱']."<|>";
write_message($file_name, $ message);
?> 「 Method="POST">
使い出す アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト- ="text" size="30" name="title">
/textarea> メインインターフェイスは次のとおりです:
データを追加した後:
その後、クリックしませんでした。メッセージを残し、F5 を直接押して更新しました。POST はありませんでしたが、更新後に同じデータが表示されました。以下のようになります:
よくわからないので答えてください...
ディスカッションへの返信(解決策)
if (file_exists($file_name))
$file_name が指すファイルが存在する限り、それが出力されます
他に方法はありません。出力するかどうかを制御します
はい 読み取り中に、データが text_date.txt ファイルに書き込まれます。メッセージを残した後、メッセージ ボタンをクリックしないと、メッセージが更新されるたびに、残したデータがファイルに書き込まれて出力されます。
フォーム送信後にリダイレクトするにはヘッダーを使用することをお勧めします。
フォームの返信ページを更新することは、再送信することと同じです。
どのブラウザを使用していますか?フォームを更新してページに戻るときにプロンプトは表示されませんか?
私は Google Chrome を使用しています
以下は私の小さなテストです。送信後、更新すると以前の状況は表示されません。
/ title> ;&lt;/lt;&lt;ユーザーがボタンを送信したかどうか
if ($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST['user_name']) && !empty($_POST['title']) && !empty($ _POST ['混乱']))
{
$message = $_POST['user_name']."||".$_POST['タイトル']."||".$_POST['混乱']."< ; |>";
write_message($message);
}
?>
ユーザー名:
タイトル:
これらの 2 つのコードを送信した後、ページを更新してください。 ! !
コードの 2 番目の部分でファイルにデータを書き込んでいないだけなので、表示されるのは初めて送信されたデータだけです。 !
データを取得したらジャンプできます!
function write_message($message){echo $message;echo "<script>location.href='';</script>";exit;}
ログイン後にコピー
送信後にジャンプを実行します。ジャンプはなく、更新する限り、データは再度送信されます。
ありがとうございます、分かりました…皆様に心より感謝申し上げます…