<?php
$rs = mysql_query("SELECT * FROM users WHERE id='$_SESSION[user_id]'");
while ($row= mysql_fetch_array($rs))
{
$starter= $row['id'];
$user_name= $row['user_name'];
}
$starterID=$starter;
$companyID=$_GET['id'];
$input = $_POST['message'];
date_default_timezone_set('Europe/Helsinki');
$timestamp = date('h:i', time());
$file = $companyID." and ".$starterID.".txt";
if (file_exists($file)) {
$file = $companyID." and ".$starterID.".txt";
} else {
$file = $starterID." and ".$companyID.".txt";
}
$current = file_get_contents($file);
$current.= "<b>$user_name</b> <br> $input $timestamp\n<br>";
if(isset($_POST['message'])){
file_put_contents($file, $current);
}
echo $current;
?>
<form action="" method="post">
<input type="text" name="message" autocomplete="off">
<input type="submit">
</form>
그래서 2 명의 등록 사용자간에 아주 간단한 대화입니다.페이지 새로 고침이 내 양식을 제출합니다.
ID가 154 인 사용자가 ID 156과 대화를 시작하면 파일 154
및 156.txt
이 생성됩니다. 이 파일은 모든 메시지가 저장된 곳입니다.
내 문제는 다음과 같습니다. 사용자 154가 메시지를 쓰고 페이지를 새로 고침하고 메시지가 파일에 저장되고 인쇄되는 제출 버튼을 눌러 메시지를 보냈다고 가정 해 봅시다. 이 후 입력 필드가 지워지지만 사용자가 페이지를 새로 고치면 동일한 메시지가 저장되고 다시 인쇄됩니다.
페이지 새로 고침이 양식을 다시 제출하지 않도록하려면 어떻게해야합니까?
sa 인 경우 마지막 메시지를 확인할 수 있습니다. 나 또는 아닙니다. 같은 경우 아무런 작업도 수행하지 마십시오. – Khushboo
당신이 새로 고침 할 때마다 이전 내용이 게시됩니다. 결과적으로 당신의'if (isset ($ _ POST [ 'message']))'는 내용을 실행하고 저장합니다. @Apul Gupta의 승계를 사용합니다 – Ronser
'unset ($ _POST)'마지막 스크립트에서. –