gpt4 book ai didi

php - 每次刷新页面时,行都会插入数据库

转载 作者:行者123 更新时间:2023-11-30 00:08:03 25 4
gpt4 key购买 nike

每次我尝试刷新页面时,都会得到一个新行。我尝试阅读许多有关此问题的帖子,但由于我是数据库编程的新手,所以我无能为力。

我不知道该值从哪里来,因为相同的值一遍又一遍地重复。

我的代码。

<?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 INTO test(user,message)VALUES('$user','$message')");
}
else{
echo "please fill out the 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
$query=mysql_query("SELECT * FROM test ORDER BY id DESC");
while($row=mysql_fetch_ASSOC($query)){

$name=$row["user"];
$message=$row["message"];

echo "username:",$name,'<br/>'," Messages: ",$message,'<br/>','<br/>';
}

?>

最佳答案

问题是每次刷新页面时,浏览器都会重新发布相同的数据。要解决此问题,您应该考虑实现 Post, Redirect, Get页面中的图案。

从根本上来说,这意味着在成功 POST(即插入行)后,您应该重定向到另一个页面。这有效地阻止了用户重新发布相同数据的能力。

上面的链接很好地概述了如何实现...

关于php - 每次刷新页面时,行都会插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24342894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com