Php empty无法使用POST工作

Php empty无法使用POST工作,php,Php,我制作了一个表单,其中包含一些输入sql的数据,以及一些php脚本,用于在某些字段中不允许空值。代码中没有任何问题,但仍然允许保留空白字段。 编辑:当我将fname字段留空时,它仍在将数据提交到表中。我不知道;如果任何字段为空,则不希望发送任何数据。 代码: prviposalji.php <body> <?php if(!empty($_POST['submit'])) { if (empty($_POST['fname'])) { echo "Morate une

我制作了一个表单,其中包含一些输入sql的数据,以及一些php脚本,用于在某些字段中不允许空值。代码中没有任何问题,但仍然允许保留空白字段。 编辑:当我将fname字段留空时,它仍在将数据提交到表中。我不知道;如果任何字段为空,则不希望发送任何数据。 代码:
prviposalji.php

    <body>

<?php
if(!empty($_POST['submit'])) {
if (empty($_POST['fname'])) {
echo "Morate uneti ime";
}
if (empty($_POST['city'])) {
echo "Morate uneti grad";
}
}

?>


<div class="unos">
<form action="insert.php" method="post">
<div class="floatleft">Ime:</div> <div class="floatright"><input type="text" name="fname" /></div><br><br>
<div class="floatleft">Grad:</div><div class="floatright"><input type="text" name="city" /></div><br><br>
<div class="floatleft">Okrug:</div><div class="floatright"><input type="text" name="county" /></div><br><br>
<div class="floatleft">Telefon:</div><div class="floatright"><input type="text" name="phone" /></div><br><br>

<input type="submit" name="submit" value="Pošalji podatke" /> <input type="reset" />
</form>
</div>
</body>
<body>

<?php
/* Attempt MySQL server connection. Assuming you are running MySQL
server with default setting (user 'root' with no password) */
$link = mysqli_connect("localhost", "root", "", "mobilni");

// Check connection
if($link === false){
    die("ERROR: Could not connect. " . mysqli_connect_error());
}

// Escape user inputs for security
$ime = mysqli_real_escape_string($link, $_POST['fname']);
$grad = mysqli_real_escape_string($link, $_POST['city']);
$okrug = mysqli_real_escape_string($link, $_POST['county']);
$telefon = mysqli_real_escape_string($link, $_POST['phone']);
// attempt insert query execution
$sql = "INSERT INTO imena (Ime, Grad, Okrug, Telefon) VALUES ('$ime', '$grad', '$okrug', '$telefon')";
if(mysqli_query($link, $sql)){
    echo "Podaci su prosleđeni administratoru. Nakon odobravanja, Vaš oglas će se pojaviti. Hvala na poverenju.";
} else{
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}

// close connection
mysqli_close($link);
?>
</body>

根据您最初发布的问题,在发布DB相关代码之前:

由于您的初始条件语句,它不起作用

if (isset($_POST['submit']))
您的提交按钮不包含“提交”的名称属性

改名为

<input type="submit" name="submit" value="Pošalji podatke" />


编辑:

下面是一个示例,因为您尚未发布完整的代码

<?php

if (isset($_POST['submit'])) {

        if (empty($_POST['fname'])) {
        // echo "name empty";
        die("Name empty.");
        }


        else{
        $fname=$_POST['fname'];
        echo "First name: " . $fname . "<br>";
        }

if (empty($_POST['city'])) {
// echo "city empty";
die("City empty");
}

        else{
        $city=$_POST['city'];
        echo "City: " . $city . "<br>";
        }


} // brace for if (isset($_POST['submit']))

?>

试试这个

<?php
if(!empty($_POST['submit'])) {
if (empty($_POST['fname'])) {
echo "Morate uneti ime";
}
if (empty($_POST['city'])) {
echo "Morate uneti grad";
}
}

?>

您的提交按钮中缺少名称属性,请确保添加此属性,然后此属性将适用于您

编辑 还是这样试试

<?php
if(empty($_POST['submit']))
{echo "Bad request";}
elseif (empty($_POST['fname'])) {
echo "Morate uneti ime";
if (empty($_POST['city'])) {
echo "Morate uneti grad";
}
else
{//update the data}

?>

未测试

如果您仍然有问题,请在上查看本教程


在这种情况下,您可以使用
if($\u POST){…}
而不是
if($\u POST['submit']]){…}
。@Stefan对我来说效果很好。我至少试用了3次您编辑的代码,仍然不起作用。我很感激你的努力。@Stefan你必须定义“不工作”。这帮不了我,帮不了你。您期望的结果是什么?当我输入所有数据,并将“城市”字段留空并按“提交”时,数据将输入SQL。我不想让带有空白字段的数据输入到表中。@Stefan哦,所以现在绘图变厚了。你为什么不先把它贴出来?只需在每个失败的post之后添加一个die()或exit()。我回答了你发布的内容,所以我回答了原来的问题,不是不存在的代码,至少不是在你发布的内容中。仍然不起作用,我将按钮的名称编辑为“提交”。我真的不知道这里有什么问题。@AmitThakur就我而言,这个问题已经得到了回答,OP应该在这方面发布一个新问题。半小时后不要编辑问题。我可以看到你已经标记了答案,这意味着答案对你有效,而你仍然有问题!。。wy?