Antworten auf deine Fragen:
Neues Thema erstellen

Registrierung mit PHP

JoLe05

Nicht mehr ganz neu hier

Hallo Leute!

Ich versuche ein normales Registrierungsformular zu erstellen. Leider klappt etwas bei der for Schleife nicht... Vielleicht könnt ihr mir weiterhelfen... danke

Im Grunde ists ganz einfach... ich habe ein array mit Emails gespeichert... falls dieser der User eingibt im Feld Email sollte eigentlich eine Fehlermeldung erscheinen... Leider läuft die Schleife nicht durch und die Erfolgsmeldung nach der schleife wird immer ausgestrahlt...

PHP:
<?php
 
if(count($_POST)>0) {
 
    //Formular wurde abgeschickt weil Daten vorhanden sind
    $Emails = array("mustermann@gmx.at","mustermann@gmx.de","mustermann@gmx.com");
 
    print_r($_POST);
 
    for($i=0; $i<count($Emails); $i++) {
        if($_POST["Emailaddr"]==$Emails[$i]) {
            $meldung="<p>Diese Email wird bereits verwendet</p>";
        }
    }
 
    $meldung="<p>Registrierung erfolgreich</p>";

} else{
    $meldung="";
}
?>
<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>BSP3</title>
</head>

<body>
<?php
echo($meldung);
?>
<form name="frm" id="frm" method="post">
    <fieldset>
        <legend>Registrierung:</legend>
        <label for="Vorname">Vorname:</label><input type="text" name="vorname" id="vorname" />
        <label for="Nachname">Nachname:</label><input type="text" name="nachname" id="nachname" />
        <label for="Emailaddr">Email:</label><input type="text" name="Emailaddr" id="Emailaddr" />
        <label for="Password">Passwort:</label><input type="text" name="password" id="password" />
        <input type="submit" value="Registrieren &rsaquo;" />
    </fieldset>
</form>

</body>
</html>
 

Duddle

Posting-Frequenz: 14µHz

PHP:
  for($i=0; $i<count($Emails); $i++) {
    if($_POST["Emailaddr"]==$Emails[$i]) {
      $meldung="<p>Diese Email wird bereits verwendet</p>";
    }
 }
 $meldung="<p>Registrierung erfolgreich</p>";
Du überschreibst die Variable $meldung nach der Schleife. Es ist also egal, was in der Schleife passiert. Allgemein besser wäre an dieser Stelle auch ein in_array().


Duddle
 

JoLe05

Nicht mehr ganz neu hier

Hallo!

Vielen Danke für den Input! Hab es geändert und des funktioniert

PHP:
for($i=0; $i<count($Emails); $i++) {
        if($_POST["Emailaddr"]==$Emails[$i]) {
            $meldung="<p>Diese Email wird bereits verwendet</p>";
            break;
        } else {
            $meldung="<p>Registrierung erfolgreich</p>";
        }
    }

Danke für den Tipp mit in_array(), aber das sollte nur ein triviales Beispiel sein, das Formular wird später dann über eine Datenbank laufen
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.616
Beiträge
1.538.358
Mitglieder
67.536
Neuestes Mitglied
QuestionMark
Oben