如果页面刷新再次添加值?

时间:2011-07-02 12:38:35

标签: php

我在项目中使用以下表单。在此表单中,我提交时正确添加值。但提交后如果刷新页面,则会再次插入现有值。我需要在提交后刷新页面,不添加现有值。请帮帮我。

`<form name="form" method="post" action="<?php $_SERVER['PHP_SELF'];?>">
 <table width="918" border="0">
  <tr>
    <td width="222" height="300">&nbsp;</td>
    <td width="686">
     <table width="331" border="0">
      <tr>
        <td height="30">
<?php
error_reporting (E_ALL ^ E_NOTICE);
include("config.php");
$class_section=$_POST['class_section'];

if(isset($_POST['submit']))
{
$sql=mysql_query("insert into section(section_id, class_section) values ('', '$class_section')",$conn);
if($sql)
{
echo"<p><center><b><font color='green'>Section Added Successfully!</font></b></center></p>";
}
else
{
echo"<p><center><b><font color='red'>Section Add Failed!</font></b></center></p>";
}
}

?>
        </td>
        </tr>
        </table>
    <table width="331" border="0">
            <tr>
        <td height="47">Class Section/Group</td>
        <td><input name="class_section" type="text"/>       </td>
      </tr>
      <tr>
        <td height="33"></td>
         <td><input type="submit" name="submit" value="ADD" class="button">             </td>
      </tr>
    </table></td>
  </tr>
</table>
</form>`

1 个答案:

答案 0 :(得分:2)

使用Post/Redirect/Get模式。

用户发起的更新服务器状态的请求应始终为Post。

您的代码也有SQL注入漏洞。

在使用$class_section之前将mysql_real_escape_string()换行。