Php sql,表单在页面加载时重新提交
发布时间:2020-12-13 17:22:56 所属栏目:PHP教程 来源:网络整理
导读:忽略了 mysql和sql转义字符串的明显安全漏洞,是否有人知道为什么我的sql表在页面重新加载时充满了空信息. 页面重新加载表单提交的每个时间点.我很困惑为什么会这样,我怎么阻止它? ?php ob_start(); session_start(); $con = mysql_connect("localhost","use
忽略了
mysql和sql转义字符串的明显安全漏洞,是否有人知道为什么我的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> 解决方法
为什么不这样做呢?
if (mysql_query($sql,$con)) { header('location:yourpage.php'); }else{ die('Error: ' . mysql_error()); } 另外,我在插入查询上面看不到任何此类语句 if(isset($_REQUEST['submit'])){ //to check if posted $sql="INSERT ...... } 除此之外,您还应在插入数据库之前验证数据. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |