PHP - 在页面刷新时重新加载新记录

时间:2014-06-18 13:14:52

标签: php mysql sql database post

我的PHP代码和数据库有点问题。每当我刷新页面时,当我打开页面时,新的空行也被添加到数据库中,有什么问题?

<?php
if (isset($_POST)) {
    $con = mysql_connect("localhost","dwarfmaster","");

    if (!$con) {
        die('Could not connect: ' . mysql_error());
    }

    mysql_select_db("my_dwarfmaster", $con);

    $name = $_POST['name'];
    $release_year = $_POST['release_year'];
    $publisher = $_POST['publisher'];
    $genre = $_POST['genre'];

    $sql = "INSERT INTO gamelist (name, release_year, publisher, genre)
        VALUES
        ('$_POST[name]','$_POST[release_year]',
        '$_POST[publisher]','$_POST[genre]')";

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

    echo "1 record added";

    mysql_close($con);
}
?>

4 个答案:

答案 0 :(得分:1)

检查请求方法是否发布,请使用:

if ($_SERVER['REQUEST_METHOD'] == 'POST')

if(isset($_POST))将始终返回true

答案 1 :(得分:0)

您可以添加以下代码 - :

  

if(!empty(array_filter($ _ POST))){。 。用于将数据插入数据库的代码   从形式。 。 }

答案 2 :(得分:0)

    if (isset($_POST)) 

将永远返回true!

尝试

    if (isset($_POST['name'])&&isset($_POST['release_year'])
             &&isset($_POST['publisher'])&&isset($_POST['genre'])) 

而是每次检查每个变量!

答案 3 :(得分:0)

或只是改变

if (isset($_POST))

if (isset($_POST['name']))
相关问题