Ich versuche herauszufinden, warum meine elseif-Anweisung das else zurückgibt, wenn $ name < 5 true, auch wenn ich Felder größer als 5 eintrage, sollte es "Großartig" sein, wenn alle falsch sind! Ich habe die $ name und $ Punktzahl var ‚‘, weil im dies in den HTML-Werten, die ich nicht wollen, ist hierelse wenn true wenn false zurückgegeben
<!DOCTYPE html>
<?php
$name = '' ;
$score = '' ;
$message = '';
if (isset($_POST['name'])){
$name = $_POST["name"];
$score = $_POST["score"];
if (!$name || !$score) {
$message = "Please fill in both name and score!";
} elseif ($name < 5) {
$message = "name must be at least 5 characters";
} elseif ($score < 5) {
$message = "score must be at least 5 characters";
} else {
echo 'Great';
}
}
?>
<h1>Enter Your info </h1>
<hr>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
Name: <input type="text" name="name" placeholder="Enter Name" value="<? php echo $name; ?>"> <br>
Score: <input type="text" name="score" placeholder="Enter Score" value=" <?php echo $score; ?>">
<hr>
<input type="submit" name="submit" value="add">
</form>
<p class="error">
<?php echo $message ; ?>
</p>
</body>
</html>
zu einem gemacht werden Wo sonst ist, wenn? –
Du meinst 'strlen ($ name) <5'? –
@u_mulder x-file closed;) – JustOnUnderMillions