Das Problem:Einfaches PHP Formular senden - was ist falsch mit diesem bedingten wenn und logische &&?
wenn ich das HTML-Formular und ein Textfeld leer gelassen wird
dann nicht will ich es das Echosegment gehen,
aber das Problem ist, es gehen wird.
<?php
if(!isset($_POST['submit']) && empty($_POST['moon']) && empty($_POST['planet']))
{
?>
<form name="form2" method="post" action="<?php echo($_SERVER["PHP_SELF"]);?>">
<div>
Write a planet name: <input name="planet" type="text"><br>
Its moon: <input name="moon" type="text">
</div>
<div>
<input type="submit" name="submit" value="submit">
</div>
</form>
<?php
}else{
echo("Planet: ".$_POST['planet']. "<br>");
echo("Moon: ". $_POST['moon'] . "<br>");
echo "Successful.";
}
?>
Wie Sie wissen isset()
bestimmt, ob eine Variable set
und not null
ist jedoch nicht geprüft, wenn es leer ist.
Während Logik meine if-Anweisung scheint, ich modifiziert es aus:
if(!isset($_POST['submit']) && empty($_POST['moon']) && empty($_POST['planet']))
An:
if(!isset($_POST['submit']) && ($_POST['planet']=='') && ($_POST['moon']==''))
if(!isset($_POST['submit']))
if(!isset($_POST['planet']) && !isset($_POST['moon']))
if(empty($_POST['moon']) && empty($_POST['planet']))
und keiner von ihnen funktionierte.
Also mache ich etwas falsch mit meiner if-Anweisung? Wie kann ich nicht weiter zum Else-Segment gehen, solange ein Textfeld leer ist? ohne mehr wenn und keine nested
Aussagen bitte.
" Wenn ich eine if-Anweisung mit der && Vergleich, alle Bedingungen müssen wahr sein, um diesen Block auszuführen "ist direkt auf den Punkt. Das war klar. Vielen Dank für Ihren Ratschlag, um das Nisten nicht zu vermeiden. – compliance