Leerzeilen in Passwort + minimale Länge

Hallo,
ich möchte die Leerzeilen in einem md5 verschlüsselten Passwort herausfiltern und eine minimale Länge von 5 Zeichen vorschreiben. Wenn ich bei dem Namen weniger als 5 Zeichen benutze, erscheint die gewünschte Fehlermeldung. Wenn ich allerdings einen korrekten Benutzernamen eingebe und auf das Passwort verzichte, kommt überhaupt keine Fehlermeldung und der Benutzer kann sich ohne Passwort registrieren und einloggen. Wenn ich jeweils das selbe korrekte Passwort eingebe (unter 5 Zeichen), funktioniert es auch. (wenn pw1 nicht pw2 ist, erscheint eine Fehlermeldung, die ich aber nicht in den Code unten kopiert habe)

Somit funktioniert bei dem Passwort „trim“ sowie „strlen“ nicht.

[CODE]if (isset($_POST[‚_abschicken‘]))
{
$name = mysql_real_escape_string(trim($_POST[„name“]));
$pw = md5($_POST[„pw“]);
$pw = trim($pw);
$pw2 = md5($_POST[„pw2“]);
$err = false;

if (strlen($name) <= 4)
{
echo „
“;
echo „Der Name ist zu kurz. Mindestens 5 Zeichen“;
echo „
“;
$err = true;
}

if (strlen($pw) <= 4)
{
echo „
“;
echo „Das Passwort ist zu kurz. Mindestens 5 Zeichen.“;
echo „
“;
$err = true;
}
[/CODE]

Was kann ich da machen?

Nur so nebenbei. Wenn du ein Passwort zu md5 umwandelst, dann wird dieses automatisch länger. Und erst dann die Leerzeichen zu entfernen ist gaaaarkeine gute Idee :smiley: Das soltest du vorher machen. vor dem umwandeln.

Hallo,
ich habe es nun folgendermaßen:

$pw = trim($_POST["pw"]); $pw = md5($pw); if (strlen($pw) <= 4) { echo "<br>"; echo "<font size = '4' color='red'>Das Passwort ist zu kurz. Mindestens 5 Zeichen.</font>"; echo "<br>"; $err = true; }

Die Fehlermeldung beim Passwort wird dennoch nicht angezeigt.

Die Daten werden erst eingetragen, wenn alles auf „$err = false“ ist. Zu Beginn ist die Variabel $err auf false, wenn dann z.B. den Name keine 5 Zeichen hat, springt diese auf true über und die Fehlermeldung wird ausgeben. Dies sollte auch beim Passwort gemacht werden, aber da passiert nichts.

Danke.

Du hast ja immer noch nicht auf meinen Ratschlag gehört :smiley:
Lass dir mal das Passwort ausgeben nachdem du es als md5 gemacht hast.
Hab grade mal „test“ umgewandelt und bekomme dann alleine schon sowas „098f6bcd4621d373cade4e832627b4f6“
Du kannst nicht die passwortlänge prüfen, nachdem du das ganze in md5 gewandelt hast. Das kommt erst ganz am Ende beim Eintragen.

So Sachen wie Font Size gehölren sich ja auch nicht :smiley:
Mach die Abfragen am besten vor dem HTML und setze dann nur die Variable: $passError oder ähnliches. und im HTML hast du dann sowas stehen
[HTML]

<?php echo $userError; ?> <?php echo $passError; ?> [/HTML]

Und die Variabel gestaltest du auch nicht mit alten HTML Elementen :smiley: Sondern machst das ganze auch über Klasse.
Könnte dann so aussehen
[PHP]

<?php $passError = "

Passwort muss mindestens 5 zeichen haben

"; ?>

[/PHP]So stimmt dann auch die Semantik :slight_smile: