Ok das Problem ist, dass, wenn ich die Trimm-Funktion nicht funktioniert, aber wenn ich den Code ohne die Trimm-Funktion ausführen funktioniert, aber nicht richtig funktioniert (das Formular akzeptiert Leerzeichen .
) versucht<?php
session_start();
unset($_SESSION['username']);
if (isset($_SESSION['username']))
{echo "You are in already";}
else if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (!empty(trim($_POST['username'])) && !empty(trim($_POST['email'])))
{
$uname = htmlentities($_POST['username']);
$email = htmlentities($_POST['email']);
$_SESSION['username'] = $uname;
echo "THANKS: " . $uname . "<br />";
}
else { echo "fill the goddemn field"; }
} else { ?>
<form action="index.php" method="post">
<label for="username">USERNAME:</label>
<input type="text" name="username" />
<label for="E-MAIL">E-mail:</label>
<input type="text" name="email" />
<input type="submit" value="Enter" />
</form>
<?php } ?>
ich das Handbuch http://php.net/manual/en/function.trim.php aber es war schwer zu lesen und ich finde nichts aus
Sie können nicht Übergeben Sie das Ergebnis von 'trim()' direkt an 'empty()'. Aktivieren Sie die Fehlerberichterstattung und Sie werden Fehler sehen. 'empty()' benötigt eine _variable_ als sein Argument, also müssen Sie zuerst die 'trim ($ _ POST [])' in vars speichern und dann über 'empty()' –
'error_reporting (E_ALL); ini_set ('display_errors', 1); '_always_ tun dies bei der Entwicklung von Code. –
Seitennotiz: Scheint intuitiv zu sein, eine Variable zu "unscharf" zu setzen und dann sofort zu überprüfen, ob sie mit 'isset' gesetzt ist. – phpisuber01