i am writing a comment block in my website. i save the comment in a file and print the contents on the webpage. but the problem is when i refresh the webpage the last comment ge
Here are quick solutions:
After your form has been saved or if it has an error, redirect them to the same page but with GET
variables in the uri like process.php?action=save
. Use header function for redirection.
You also use cookies to save the IP of the person who submits the form and restrict him for certain period to be able to submit the form again.
The solution is to redirect to the same page. This will work, for example. Try it.
<html>
<body>
<form method="POST">
<textarea rows="15" cols="50" name="comments"></textarea>
<input type="submit" value="submit" name="submit">
</form>
</body>
</html>
<?php
if ( isset( $_POST[ 'submit' ] ) ) {
$TextArea = $_POST[ "comments" ];
$comments = "Anonymous said:<br>" . $TextArea . "<br><br><br><br>\n\n"; // Add \n\n to write the comments in a different paragraph inside the file.
$file_comments = file_put_contents( "comments.txt", $comments, FILE_APPEND );
echo '<script type="text/javascript">window.location ="";</script>';
}
$comments = file_get_contents( "comments.txt" );
echo $comments;
?>
Takes more time to refresh, though. The best way to do it is to have the PHP script in another file.