Ankündigung

Einklappen
Keine Ankündigung bisher.

werte löschen aus formular

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • werte löschen aus formular

    Hab ein Formular

    Wenn alles was benötigt wird, eingetragen ist darf ers abschicken und danach sollen die Felder wieder leer sein.
    Im Moment belässt er aber immer den Eintrag drinnen.

    z.B. wenn ich im Feld "name" daniel eintrage, dann steht nach dem absenden noch immer daniel drin, was aber nicht sein soll.

    PHP-Code:
    $name="";
                                
    $mitteilung="";
                                
    $mail="";
                                
    $gesendet=false;
                                
                                if(
    $REQUEST_METHOD=='POST' && $gesendet == false){
                                    
    $name $_REQUEST['name'] ;
                                    
    $mitteilung $_REQUEST['mitteilung'];
                                }
                                    echo
    '<form action="gast.php" METHOD="POST">';
                                        echo
    '<div id="textfeld">';
                                            echo
    '<p>Name:<br>';
                                            echo
    '<input type="text" name="name" ';
                                                if(
    trim($name)=="" && $REQUEST_METHOD=="POST"){
                                                    echo 
    'value="Bitte Name eingeben"><br>';
                                                    
    $name="Bitte Name eingeben";                                                
                                                }
                                                else{                                            
                                                    echo 
    "value='$name'>";
                                                }
                                            echo
    'Email:<br>';
                                            echo
    '<input type="text" name="mail"><br>';
                                            echo
    'Mitteilung:<br>';
                                            echo
    '<textarea name="mitteilung" rows="4" cols="16" onKeyDown="textCounter(this.form.mitteilung,this.form.Textzaehler,160);" onKeyUp="textCounter(this.form.mitteilung,this.form.Textzaehler,160)">';
                                                if(
    trim($mitteilung)=="" && $REQUEST_METHOD=="POST"){
                                                    echo 
    'Bitte Mitteilung eingeben';                                                
                                                }
                                                else{
                                                    echo 
    $mitteilung;
                                                }
                                            echo 
    '</textarea><br>';
                                            echo 
    '<input type="text" name="Textzaehler" value="160" readonly><br>';
                                            echo
    '<input type="submit" value="send"></p>';
                                        echo
    '</div>';
                                    echo
    '</form>'
    Durch die if abfrage mit request_method=post und $gesendet=false
    dachte ich eigentlich, dass ich das damit verhindere.
    Aber dem ist nicht so! $gesendet wird übrigens erst gesetzt, wenn das Formular auch wirklich eingetragen worden ist in die DB, ist in dem Code Ausschnitt nicht ersichtlich.

    Überseh ich da was ausschlaggebendes?


  • #2
    Lass in beim Ausfüllen des Formulars die beiden else-Zweige weg
    Gruss
    L

    Kommentar


    • #3
      Ja, nur wenn etwas drin steht solls ja auch drin bleiben.
      Nur wenns weggesendet worden ist, dann solls gelöscht werden!

      Kommentar


      • #4
        ähm so?

        PHP-Code:
        elseif($gesendet){                                            
           echo 
        "value='$name'>";

        Kommentar


        • #5
          Ja schön wärs, wenns so funktionieren würde.

          Hab das auch schon probiert.
          Aber er tut das einfach ned!

          Nach dem absenden, steht noch immer das was ich eingegeben hab drin!

          PHP-Code:
          if(trim($name)=="" && $REQUEST_METHOD=="POST"){
                                                          echo 
          'value="Please enter name"><br>';
                                                          
          $name="Please enter name";                                                
                                                      }
                                                      else if(
          $gesendet){                                            
                                                          echo 
          "value=''><br>";
                                                      }
                                                      else{
                                                          echo 
          "value='$name'>";
                                                      } 
          Wollts jetzt so probieren, geht auch ned!

          Kommentar


          • #6
            sehr exakte fehlerbeschreibung...

            Kommentar


            • #7
              Hab eh scho ausgebessert, so besser?

              Kommentar


              • #8
                GEHT NICHT --- GEHT NICHT --- GEHT NICHT

                Meine Güte ist es so schwer zu beschreiben WAS nicht geht?

                Kommentar


                • #9
                  Steht doch eh oben?


                  "Nach dem absenden, steht noch immer das was ich eingegeben hab in den Eingabefelderin drin!"

                  Kommentar


                  • #10
                    Wie wäre es denn mal wenn man mal den Code analysiert....

                    Also, es wird also nach erfolgreichen senden

                    PHP-Code:
                    else{
                      echo 
                    "value='$name'>";

                    statt

                    PHP-Code:
                    else if($gesendet){                                            
                      echo 
                    "value=''><br>";
                     } 
                    ausgeführt, richtig? Was ziehen wir draus für nen Schluss? Hmm $gesendet kann wohl nicht true sein, sonst würde ja der andere zweig ausgeführt werden... also wo suchen wir den fehler? Richtig! Da wo $gesendet gesetzt werden sollte...

                    So schwer ist das doch nun wirklich nicht...

                    Kommentar


                    • #11
                      Oh mann!

                      Ich hab das einfach nicht gerafft gehabt, das $gesendet nicht den richtigen Wert bekommt.

                      Danke.. jetzt gehts endlich^^

                      Kommentar


                      • #12
                        Sag bitte mal klar, in welchem Fall du was im Feld stehen haben willst und in welchem Fall nichts. Bis jetzt verwirren deine Beschribungen mehr, als dass sie dem Verständnis dienen.
                        Die verschiedenen Fälle:
                        • leeres Formular (nicht abgeschickt)
                        • Formular vollständig korrekt abgeschickt
                        • Formular leer abgeschickt
                        • Formular teilweise ausgefüllt abgeschickt
                        Gruss
                        L

                        Kommentar


                        • #13
                          @lazydog: hat sich doch schon geklärt, er wollte nur das bei "Formular vollständig korrekt abgeschickt" das Formular wieder angezeigt wird, aber leer. Das hat er ja jetzt hinbekommen...

                          Kommentar

                          Lädt...
                          X