忽略了mysql的明顯安全漏洞,也沒有sql轉義字符串,有誰知道爲什麼我的sql表在頁面重新加載時被填充爲空msgs
。 頁面重新加載表單提交的每個時間。我很困惑,爲什麼會發生這種情況,我該如何阻止它?Php sql,表單在頁面加載時重新提交
<?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>
非常奇特。我假設它與你的帖子或獲取方法有關。祝你好運。 – user1775570
^這個評論如何建設性的:/ – ramr
你有什麼樣的邏輯來包裝插入,以確保它只發生在某些情況下?如果以上是你所有,那麼它會插入每次頁面加載,因爲你正在經歷 – bhttoan