gpt4 book ai didi

Php sql,表单在页面加载时重新提交

转载 作者:可可西里 更新时间:2023-11-01 07:30:56 25 4
gpt4 key购买 nike

忽略 mysql 和 nor sql 转义字符串的明显安全缺陷,有谁知道为什么我的 sql 表在页面重新加载时被空的 msgs 填满。每次页面重新加载时都会提交表单。我很困惑为什么会这样,我该如何阻止它?

  <?php
ob_start();
session_start();
$con = mysql_connect("localhost","username","pass");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

$dates = date('Y-m-d H:i:s');
$uid = $_SESSION['user_id'];
$msg_id = (int) $_GET['msg_id'];
mysql_select_db("db_table", $con);

$result = mysql_query("SELECT users.first_name, users.last_name , intro.intro, intro.outro FROM intro INNER JOIN users ON intro.user_id = users.user_id WHERE intro.message_id = {$msg_id}");
while($row = mysql_fetch_array($result))
{
echo "<div id=\"start\"><div class=\"namedate\"><h1>". $row['first_name'] ." ". $row['last_name'] . "</h1><h2>test</h2></div><div id=\"holdmsg\"><div class=\"cent\"><strong>" . $row['intro'] . "</strong><br><i>" . $row['outro'] ."</i></div></div></div> " ;
}

与表单相关的部分是页面顶部的这部分以及 $_GET。

<form action="" method="post">      
<?php

$sql="INSERT INTO messages (user_id, intro_id , msg, date ) VALUES (('$uid'), {$msg_id} ,'$_POST[msg]', ('$dates'))";

if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}

mysql_close($con);

?>

<textarea rows="2"style="float:left" name="msg" type="text"placeholder="Elaborate on your idea..."></textarea>
<input id="togz2" style="float:right; "type="submit" value="SUBMIT" name="submit" class="butts">
</div></div>
</form>

最佳答案

为什么不这样做呢?

if (mysql_query($sql,$con))
{
header('location:yourpage.php');
}else{
die('Error: ' . mysql_error());
}

此外,我在您的插入查询上方没有看到任何此类声明喜欢

if(isset($_REQUEST['submit'])){ //to check if posted

$sql="INSERT ......
}

除此之外,您还应该在将数据插入数据库之前验证数据。

关于Php sql,表单在页面加载时重新提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14455417/

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