刷新时我不想添加新记录

时间:2014-06-19 06:55:33

标签: php mysql insert refresh

我是初级程序员并坚持制作这个简单的表格。 这是我的脚本,每次按f5,它会自动添加与新记录相同的记录但我只想在按下提交按钮时添加。请帮忙。

<?php
    mysql_connect("localhost","root","") or die (mysql_error());
    mysql_selectdb("test_database") or die (mysql_error());

    if(isset($_POST['s1']))
    {
        $nm=$_POST["name"];
        $gen=$_POST["gen"];
        $add=$_POST["add"];
        $tech=$_POST["tech"];

        $iq=mysql_query("insert into formcheck (name,gender,address,tech) values ('{$nm}','{$gen}','{$add}','{$tech}' )") or die (mysql_error());

        if($iq)
        {
            echo "<script> alert('Record inserted Successfully') </script>";
        }
        else
        {
            echo "Error occurred in inserting a record";
        }
    }
?>
<html>
    <body>
        <form method="post" name="f1">
            <input type="text" placeholder="Enter your Name" name="name" required="">
            <br>
            <input type="radio" name="gen" required="">Male
            <input type="radio" name="gen">Female 
            <br>
            <textarea name="add" placeholder="Address" required="" rows="5" cols="20" draggable="true"></textarea>
            <br>
            <select name="tech" required="">
                <option value=""> Select Technology </option>
                <option value="p"> PHP </option>
                <option value="i"> iPhone </option>
                <option value="a"> ASP </option>
                <option value="h"> HTML/CSS3 </option>
            </select>
            <br>
            <input type="submit" value="Click here" name="s1">
        </form>
    </body>
</html>

2 个答案:

答案 0 :(得分:0)

将所有php代码写在一个单独的文件中 - insert.php

并将<form>代码编辑为 -

<form method="post" action="insert.php" name="f1">

答案 1 :(得分:0)

在将数据提交到数据库后,只需进行重定向。这是一种常见的做法。 为插入创建一个不同的文件,然后重定向回来。这将解决问题。 需要清除$ _post数组,而不会输入更少的重复输入