Saturday, 15 March 2014

php - Row is inserted into database everytime I refresh the page -



php - Row is inserted into database everytime I refresh the page -

evertime seek refresh page new row. tried read many posts regarding problem, couldn't since i'm new in database programming.

i don't know value come from, because same value repeated on , over.

my code.

<?php require('connect.php'); $sql="create table test(id int not null primary key auto_increment, user varchar(25),message longtext)"; if($sql==true){ $res=mysql_query( $sql); } ?> <?php $user=null; $message=null; if(isset($_post['user'])){ $user=$_post['user']; } if(isset($_post['message'])){ $message=$_post['message']; } if(!empty($_post)){ if($user&&$message){ $insert=mysql_query("insert test(user,message)values('$user','$message')"); } else{ echo "please fill out fields"; } } ?> <html> <body> <form action="database.php" method="post"> <p><label for="user">name:</label><br/> <input type="text" name="user" id="user"/></p> <p><label for="message">message:</label><br/> <textarea ="message" name="message"> </textarea></p> <button type="submit" name="submit" value="send">send message:</button> </form> <br/><br/><tr><td>the users comments:</td><td><br/><br/> </html> <?php $queri=mysql_query("select * test order id desc"); while($row=mysql_fetch_assoc($queri)){ $name=$row["user"]; $message=$row["message"]; echo "username:",$name,'<br/>'," messages: ",$message,'<br/>','<br/>'; } ?>

problem everytime refresh page browser re-posting same data. workaround should consider implementing post, redirect, get pattern in page.

fundamentally means upon successful post (i.e. row inserted) should redirect page. stops user having ability re-post same data.

the link above has overview of how implement...

php html mysql row repeat

No comments:

Post a Comment