Langsam lernen PHP mit viel viel mehr zu gehen. Ich fand mich an einem Punkt in dem Buch, ich denke, ist nützlich, Codierung Beispiel. Ich möchte ein Benutzerpasswort auf Länge und Komplexität überprüfen. Ja, ich verstehe, dass es viel Platz für längere und komplexere Passwörter gibt. Dieses Problem ist gut genug für mich, um langsam zu lernen. Anforderungen sind genau 9 Zeichen und 1 @ -Zeichen. Alle anderen Zeichen sind erlaubt. Nicht sicher, warum Fehlermeldungen nicht zurückgegeben werden, wenn das Passwort nicht den Anforderungen entspricht. Jede Hilfe ist willkommen und weiß, dass dies wahrscheinlich ein geschlagenes totes Pferd ist. Die meisten anderen Antworten hier sind komplexer als ich es will, werde aber irgendwann dort ankommen. Bitte konstruktiv kommentieren ... Danke!Fehlermeldungen werden dem Benutzer nicht angezeigt
<?php
$pwd = filter_input(INPUT_GET, 'password');
$errmsg = "";
//function with 2 parameters/one passed by reference
function passVal($pwd) {
$errmsg = null;
if (!preg_match('/^(?=.*[@]){9}$/', $pwd)) {
$errmsg = "Password must contain exactly 9 characters and one @ sign.";
}
if (strlen($pwd == 9) && preg_match('/(?=.*[@])/', $pwd)) {
$errmsg = "Contains exactly 9 characters and there is at least one @ sign. Password is good";
}
return $errmsg;
}
?>
HTML
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<header><h1>Password Check</h1></header>
<form action="" method="get">
<h3>Enter a password in the box.</h3><br>
<p>The password must be exactly 9 characters and include at least
one @ sign. All other characters are allowed.</p>
<p>Enter a password<input type="text" name="password"></p>
<p><button type="submit" formmethod="get" name="button">Check Password</button></p>
<p><?php echo $errmsg; ?></p>
</body>
</html>
Wo genau Sie die "passVal" -Funktion nennend? – dquinonez
Zum einen scheinen Sie nicht tatsächlich die Funktion passVal() aufzurufen. – WillardSolutions
Und Sie lesen das übermittelte Passwort von $ _GET nirgends. – WillardSolutions