• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Minimale Länge bei input-Feldern + Sperren von value

farchris

Mitglied
Hallo,
ich habe das Thema in den PHP-Bereich geschrieben, da Frage Nr.1 wohl eher etwas mit PHP zu tun hat.

Nr. 1
Ich habe ein Registrierungformular und möchte, dass z.B. 5 Zeichen bei "Namen" und "Passwort" Pflicht sind. Wie kann ich die jeweiligen geposteten Felder auf Länge prüfen?

Nr. 2
Nach der Registration wird der Name des Benutzers im "Name"-Feld des Gästebuches angezeigt. Der Name des Benutzers wird in value"" ausgelesen. Wenn man sich eingeloggt hat, darf man bei neuen Gästebucheinträgen seinen Namen nicht ändern.
Dafür gibt es ja die Funktion "readonly="readonly". Diese Funktion ist aber für das ganze Feld gedacht und somit können Gäste auch keine Gästebucheinträge erstellen. Gibt es eine Möglichkeit die Funktion nur für das value zu beschränken?

Danke für Antworten.
 
Werbung:
zu 1.)
Du kannst mit strlen Abfragen wie lang ein String ist.
Und die felde rkannst du ja mit POST bzw get auslesen.

zu 2.)
Ich würde nach dem Anmelden die Session variable setzen und je nachdem ob diese gesetzt ist oder nicht das Feld komplett weglassen (da dies ja eine unnötige Information ist) oder halt anzeigen, wenn der Benutzer nicht angemeldet bist
 
Werbung:
Hallo, danke.

Hier ist das Gästebuch: http://gb.comuse.org/gb.php
Dort kann jeder eintragen.

Wenn man sich einloggt:
http://gb.comuse.org/login/login.php
Name: user
PW: user

... sieht man im Gästebuch im Feld Namen seinen Namen (user). Dieser soll nicht verändert werden können. Aber mit der Funktion ""readonly="readonly" geht es nicht, da sonst auch Gäste ihren Namen nicht mehr ändern könnten bzw. die könnten noch nicht mal einen eintragen. Also NUR angemeldete Benutzer dürfen ihren Namen nicht mehr ändern.
 
Wie ich schon geschrieben habe.
Die Leute, die eingeloggt sind brauchen ihren Namen ja nicht zu sehne oder?
Dann machst du an der Stelle so etwas.
PHP:
<?php
if(!$_SESSION['username']) {
  ?>
   <input type="text" name="username" />
  <?php
}

?>
 
Werbung:
Stimmt, Netscape 4 z.B. kennt das Attribut nicht und ignoriert es, da ist es ein Leichtes so eine "Sperre" auszuhebeln. Sicher ist nur eine serverseitige Prüfung.
 
Ich denke für mich reicht folgendes:
Code:
<?php
if(!$name) {
  ?>
<input maxlength="20" type="text" value="" name="Name">
  <?php
}
else
{
?>
<input maxlength="20" onfocus="this.blur();" type="text" value="<?php echo $name ?>" name="Name">
<?php
}
?>

edit: Wenn man JavaScript deaktiviert, hat man allerdings ein Problem, aber das gilt auch für meine Wörter-Beschränkung im Textfeld.

Danke!
 
Zuletzt bearbeitet:
Werbung:
Es gibt ein auch input vom typ hidden.
Aber wie Efchen schon sagte. Man kann die Werte leicht verändern (z.B. mit Firebug).
Würde beim "eintrage"-Script prüfen, ob der user angemeldet ist. Wenn ja wird dieser Name benutzt, ansonsten der aus dem Formular
 
Zurück
Oben