Zur Navigation

Portal mit Login und Chat [3]

21 Jörg Kruse

Ich gehe bei der Programmierung mitunter so vor, dass ich zuerst die Teile erstelle, die von anderen Teilen vorausgesetzt werden. Also bevor ich mich an den Login mache, erstelle ich die User-Registrierung - denn nur registrierte User können sich einloggen.

Aber du musst nicht nach diesem Schema vorgehen - wenn dir danach ist, erst einmal den Login zu erstellen, kannst du zum Testen ja auch einen User manuell in die Tabelle eintragen

07.08.2008 15:09

22 Tilman

Ok, hab ich jetzt gemacht.
Klappt alles (Ich habe ein Formular 'registrierung.php' und die "Eintrageseite" 'eintragen.php', die überprüft, ob alle Daten vollständig sind, gemacht. Das Eintragen in die Datenbank klappt.

Nur, ich würde die "Eintragung" gerne auch in die Formularseite mithineinbringen. Also so, dass die Daten sozusagen an sich selber geschickt werden. Nur weiß ich nicht, wo ich diesen "Eintragungscode" positionieren soll.

- die Fehlermeldungen sollten immer bei dem dazugehörigen Eingabefeldern stehen
- Wie macht man es, dass wenn man das Formular aufgerufen wird, keine Fehlermeldungen wegen leeren Formularfeldern angezeigt werden? Irgendwie so, indem man in das Formular noch ein unsichtbares Feld hinzufügt:(?)
if ($unsichtbar == 'abgeschickt' && $feld == '')

10.08.2008 17:14

23 Jörg Kruse

Nur, ich würde die "Eintragung" gerne auch in die Formularseite mithineinbringen. Also so, dass die Daten sozusagen an sich selber geschickt werden. Nur weiß ich nicht, wo ich diesen "Eintragungscode" positionieren soll.

In das value Attribut von input Felden (bzw. beim textarea zwischen di Tags)

<input type="text" name="bla" value="<php echo $_POST['bla'] ?>"/>

- die Fehlermeldungen sollten immer bei dem dazugehörigen Eingabefeldern stehen

Dann baust du an der Stelle ein entsprechendes if Konstrunkt

- Wie macht man es, dass wenn man das Formular aufgerufen wird, keine Fehlermeldungen wegen leeren Formularfeldern angezeigt werden? Irgendwie so, indem man in das Formular noch ein unsichtbares Feld hinzufügt:(?)
if ($unsichtbar == 'abgeschickt' && $feld == '')

Ich würde erst auf das Abschicken überprüfen und danach, ob das Feld leer ist:
if (isset($_POST['feld'])) {
    if ($_POST['feld'] == '') {
        // Fehlermeldung
    }
}

10.08.2008 18:38 | geändert: 10.08.2008 18:39

24 Tilman

Hallo Jörg!

Ich habe das hier irgendwie nicht wirklich verstanden:
Ich würde erst auf das Abschicken überprüfen und danach, ob das Feld leer ist:

if (isset($_POST['feld'])) {
if ($_POST['feld'] == '') {
// Fehlermeldung
}
}

Was genau bewirkt dieser Code?

11.08.2008 13:35

26 Tilman

Ja, jetzt habe ichs verstanden.
Soll ich bei den Kennwortfeldern auch den vorherigen Inhalt anzeigen lassen?
<input type="password" name="kennwort" value="<php echo $_POST['kennwort'] ?>"/>

Ich hätte gerne ein Script auf der Seite, der, wenn alle Daten in der Datenbank gespeichert wurden, eine Bestätigungs-E-Mai an die angegebenen E-Mail-Adresse schickt. In der Datenbank wird standardmäßig im Feld "Status" z.B. "erwartebestätigung" eingetragen. Wenn der User dann auf den Link in der E-Mail klickt, wird in seinem Datenbankeintrag aus "erwartebstätigung" "aktiv". Allerdings wäre es doch besser, anstatt bei der Bestätigungsurl den ID des Users, ein bei der Registrierung generierten Code zu benutzen, oder?

11.08.2008 16:05 | geändert: 11.08.2008 16:56

27 Jörg Kruse

Zitat von Tilman

Soll ich bei den Kennwortfeldern auch den vorherigen Inhalt anzeigen lassen?
<input type="password" name="kennwort" value="<php echo $_POST['kennwort'] ?>"/>

Das kannst du so machen

[quote]Ich hätte gerne ein Script auf der Seite, der, wenn alle Daten in der Datenbank gespeichert wurden, eine Bestätigungs-E-Mai an die angegebenen E-Mail-Adresse schickt. In der Datenbank wird standardmäßig im Feld "Status" z.B. "erwartebestätigung" eingetragen. Wenn der User dann auf den Link in der E-Mail klickt, wird in seinem Datenbankeintrag aus "erwartebstätigung" "aktiv". Allerdings wäre es doch besser, anstatt bei der Bestätigungsurl den ID des Users, ein bei der Registrierung generierten Code zu benutzen, oder?

Ja, das wäre besser - die ID ist vorhersagbar und eine darauf basierende Überprüfung wäre demzufolge nicht zuverlässig

11.08.2008 18:01

28 Tilman

Hallo Jörg!

Ich meinte, ob ich das überhaupt machen soll:
<input type="password" name="kennwort" value="<php echo $_POST['kennwort'] ?>"/>

Bei den meisten Seiten, die ich kenne, ist das Passwortfeld dann immer wieder leer, wenn man irgendein anderes Feld vergessen hat, auszufüllen.

12.08.2008 12:26

29 Jörg Kruse

Ohne Vorbelegung ist etwas sicherer, da dann das Passwort nicht als Klartext im HTML-Code steht.

12.08.2008 16:43

30 Rudy

Vor allem geht es darum, das Passwort so wenig wie möglich in Klartext über TCP/IP zu senden, da Pakete bei ungesicherten Verbindungen gesnifft werden könnten. Persönlich nehme ich deshalb schon eine SHA1-Kodierung des Passworts mit Javascript vor dem Senden vor.

12.08.2008 16:54