每次我加载我的PHP表单页面时,它都会为数据库提供一个条目

时间:2013-06-26 09:24:48

标签: php sql forms

我正在创建一个将详细信息输入mysql数据库的表单。

我有一个问题。 我已经使用了" required"在我的html表单中的属性,但每次我加载页面时它都会在数据库中输入一个条目(即使字段为空)。

这是代码(php):

<!DOCTYPE html>
<?php
        $cnn = mysqli_connect("localhost", "root", "abc123", "usercake");

// Check connection
        if (mysqli_connect_errno($cnn)) {
            echo "Failed to connect to MySQL: " . mysqli_connect_error();
        }

$firstname = $_POST['firstname'];
$surname = $_POST['surname'];

        $qry = "INSERT INTO usercake.huffaz (country) VALUES ('$_POST[country]')";
        mysqli_query($cnn, $qry)
?>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <form action="huffaz.php" method="post" >
            <fieldset>
                <legend>
                    Your Personal Details
                </legend>
                <label>First Name:</label>
                <input type="text" name="firstname" required />
                <label>Surname:</label>
                <input type="text" name="surname" required />
                <label>Age at 1st Ramadhan:</label>
                <input type="number" name="age" min="15" required />
            </fieldset>
            <fieldset>
                <legend>
                    Your Contact Details
                </legend>
                <label>City:</label>
                <input type="text" name="city" required/>
                <label>County/State:</label>
                <input type="text" name="state" required/>
                <label>Country:</label>
                <input type="text" name="country" required/>
            </fieldset>
            <fieldset>
                <legend>
                    Your Qualifications
                </legend>
                <input type=""/>
            </fieldset>
            <input type="submit" />
        </form>
    </body>
</html>

1 个答案:

答案 0 :(得分:1)

您没有检查是否有任何帖子设置/解雇。

像这样切换:

if(isset($_POST)){
    $cnn = mysqli_connect("localhost", "root", "abc123", "usercake");
    // Check connection
    if (mysqli_connect_errno($cnn)) {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    $firstname = $_POST['firstname'];
    $surname = $_POST['surname'];
    $qry = "INSERT INTO usercake.huffaz (country) VALUES ('$_POST[country]')";
    mysqli_query($cnn, $qry)
}