tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
235
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    kubanese kubanese ist offline Mitglied Bronze
    Registriert seit
    Apr 2004
    Beiträge
    25
    servus

    also ich hab ein prob bzw mir fällt nix ein.

    ich hab ein formular mit verschiedenen eingabefeldern.
    da is auch ein button zum abschicken der eingaben.

    jetzt soll geprüft werden, ob die pflichtfelder ausgefüllt werden und noch ein paar spezielle sachen (wie, dass das "@"-Zeichen in der email adresse steht und so...).

    dies soll aber alles erst geschehen wenn das formular "abgeschickt" (also der benutzer auf den button gedrückt hat) geschehen.
    falls dann fehler auftreten (wie nich ausgefülltes pflichtfeld usw...) soll die gleiche seite nochmal aufgebaut werden, aber diesmal mit ner fehlermeldung bei dem jeweiligen eingabefeld.
    falls jedoch kein fehler voliegt, sollen die daten in eine datenbank geschrieben werden.

    wie kann ich des am besten lösen, wenn nur 2 .php seiten genutzt werden sollen?

    dank schonmal im vorraus

    mfg
    kubanese
     

  2. #2
    Registriert seit
    Jan 2004
    Beiträge
    1.072
    Du lässt das Formular einfach an die gleiche Seite schicken, in dem es ausgegeben wird. Dann machst du, bevor das Formular ausgegeben wird die Fehlerüberprüfung (natürlich nur, wenn auch das Formular abgeschickt wurde). Wenn es einen Fehler gab, dann gibst du bei der Formularausgabe einen entsprechenden Hinweis mit aus. Alle Felder, die richtig eingegeben werden, solltest du am besten speichern, und für die Form-Elemente als Defaultwert angeben. Sonst ärgert sich blos jemand drüber, dass er alles neu eingeben muss, wenn er sich irgendwo vertippt hat, o.ä.
    Sollte es keinen Fehler gegeben haben, dann trägst du die Daten in die DB ein, und setzt noch nen header('Location: ...') dahin, wo man halt hinkommen soll. Du kannst noch z.B. in einer Session-Variable speichern, dass eine Eingabe gemacht wurde, und das dann entsprechend auf der Seite, wo man danach hinkommt, ausgeben. Sonst weiß der User ja nicht, dass auch alles geklappt hat.
    So in etwa würde ich das realisieren.
     

  3. #3
    Registriert seit
    Apr 2002
    Ort
    HH
    Beiträge
    3.224
    Eigentlich brauchst Du dazu nur eine PHP-Seite.
    Du gibst dem Absendebutton einen Namen z.B. save und leitest das Formular auf dieselbe Seite, in der Du es erstellst.
    PHP-Code:
    if (empty($_GET['save'])) {
      
    $showform=true;
    } else {
      
    $errors=array();
       
    //Formularprüfungen
       // mit $errors[] = "Fehlermeldung";
       // Die Fehlermeldungen generieren
       
    if (sizeof($errors)==0) {
            
    //eintragen
            //Bestätigungsnachricht
       
    } else {
           
    $showform=true;
       }
    }
    if (!empty(
    $showform)) {
        
    //Dein Formular samt Fehlermeldungen ausgeben
        //ggf. die bereits angegebenen Werte vorbelegen
        //das Formular hat als action das eigene Skript.

    Ich denke, dass sollte Dein Problem treffen.

    Und nächstes mal bitte mit Groß- und Kleinschreibung.
     

Ähnliche Themen

  1. Habt ihr eine lösung ?
    Von A-G-E-N-T im Forum Visual Basic 6.0
    Antworten: 5
    Letzter Beitrag: 13.09.05, 22:26
  2. Vielleicht css fehler?
    Von Acidfood im Forum CSS
    Antworten: 0
    Letzter Beitrag: 12.04.05, 18:08
  3. Habt ihr ein Tut dazu?
    Von sonix-planet im Forum Cinema 4D
    Antworten: 3
    Letzter Beitrag: 23.07.03, 12:36
  4. PHP und vielleicht JavaScript******
    Von Puppetmaster im Forum PHP
    Antworten: 3
    Letzter Beitrag: 22.07.03, 11:59
  5. Vielleicht ein Kompromiss ?!
    Von A8 Design im Forum Photoshop
    Antworten: 8
    Letzter Beitrag: 20.11.01, 20:13