Variablen von FORM in PHP zwischenspeichern

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

  • Variablen von FORM in PHP zwischenspeichern

    Mojen!

    Nach Klick auf SUBMIT frage ich in meinem Formular folgende Felder/Vars auf deren Inhalt ab:

    PHP-Code:
        if ($name == "" or $telefon == "" or $uberschrift == "" or $text == "" ) {
          echo 
    "Bitte fülle alle Felder vollständig und korrekt aus.";
          echo 
    "<center><br><a href=\"boerse_inserataufgabe.php?name=$name&telefon=$telefon&uberschrift=$uberschrift&text=$text\">ZURÜCK</font></a></center>";
          exit;
        } 
    => Angenommen, der User hat zwei von 4 Feldern ausgefüllt. Wie kann ich es machen, dass die von ihm ausgefüllten Felder bei klick auf ZURÜCK im Form erhalten bleiben?

    Ich habe versucht, die Variablen an die php dranzuhängen (s. Coding). Im IE zeigt er mir in der URL links unten die Vars samt Inhalt auch an, sobald der User aber wieder im Formular ist, haben sie keinen Wert, sprich alle Eingabefelder sind leer.

    Wie kann ich die Variablen zwischenspeichern, sodass er bereits ausgefüllte Felder nicht nochmal ausfüllen muss, sondern eben nur die leeren??
    Zuletzt geändert von Metallica; 07.02.2006, 08:39.
    $PHP resource 4ever$

  • #2
    Mir ist nicht bekannt, dass man das durch PHP beeinflussen kann. Viel einfacher wäre es hier auch, dass Du einfach das Formular wenn dieses nicht komplett ausgefüllt ist nochmal darstellen lässt und bereits empfangene Daten in $_POST einfach wieder in dem Formular ausgibst. Alternativ nicht hinschreiben, dass der User back klicken soll, sondern dass einen eigenen Link der Die Daten nochmal mit übergibt.

    Alternativen sind vorhanden - meines wissens nach liegt es an den Browsereinstellungen des users ob diese erhalten bleiben ?

    Kommentar


    • #3
      Hi !

      Wenn du das so über einen Link machen willst, dann wäre die nicht gaaanz saubere Methode, einfach den Textfeldern über den "value" Parametern den jeweiligen Wert zuzuweisen. Also in etwa so.

      PHP-Code:
      echo '<input type="text" name="name" value="' $_GET["name"] . '">'
      Gruß

      Le Cheffe

      Kommentar


      • #4
        Ist es wie folgt auch möglich? Dann hätte ich nämlich alles was ich erreichen will.

        PHP-Code:
        if ($name == "" or $telefon == "" or $uberschrift == "" or $text == "" ) {

        <
        script type="text/javascript">
                 
        alert ("Bitte fülle alle Felder vollständig und korrekt aus.");
        </
        script>


        falls das so nicht funtzt, ist es dann möglich in der php-if eine JavaScript Funktion() aufzurufen die nur alert ausführt??
        $PHP resource 4ever$

        Kommentar


        • #5
          wie bist du eigentlich zum Master geworden

          Zurück: Geht nicht -> ist doch ne Browsersache.
          Was du tun solltest -> header("location ...."); und die werte per GET übergeben und in dein Formular wieder einfügen.
          Sunshine CMS
          BannerAdManagement
          Borlabs - because we make IT easier
          Formulargenerator [color=red]Neu![/color]
          Herkunftsstatistik [color=red]Neu![/color]

          Kommentar


          • #6
            hmm, wie meinst du das genau bzw. wie baue ich das in mein echo ein?
            Ich möchte ja meine Fehlerausgabe per Echo behalten? Ausserdem muss der User ja irgendwo ZURÜCK klicken können.

            So?
            PHP-Code:
            if ($name == "" or $telefon == "" or $uberschrift == "" or $text == "" ) {
                  echo 
            "Bitte fülle alle Felder vollständig und korrekt aus.";
                  echo 
            "<center><br><a href=\"boerse_inserataufgabe.php?name=$name&telefon=$telefon\">ZURÜCK</font></a></center>";
            header"Location: boerse_inserataufgabe.php?name=$_GET["name"]&telefon=$_GET["telefon"]");
            //oder geht's auch so:
                  
            echo "<center><br><a href=\"boerse_inserataufgabe.php?name=$_GET["name"]&telefon=$_GET["telefon"]\">ZURÜCK</font></a></center>";
                  exit;
                } 
            $PHP resource 4ever$

            Kommentar


            • #7
              http://www.php-faq.de/q/q-stil-normalform.html
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                über gebe den Fehlerparameter ebenfalls per GET und prüfe bei deinem Formular ob der Fehlerparameter vorhanden ist. Wenn er vorhanden ist gebe per echo deine Meldung aus
                Sunshine CMS
                BannerAdManagement
                Borlabs - because we make IT easier
                Formulargenerator [color=red]Neu![/color]
                Herkunftsstatistik [color=red]Neu![/color]

                Kommentar


                • #9
                  also ich hab jetzt mal eure beiden antworten ganz genau durchstudiert. ich blicke da ECHT nicht durch (( könnt ihr mir ein bsp für diesen fall geben?
                  $PHP resource 4ever$

                  Kommentar


                  • #10
                    Original geschrieben von Metallica
                    ich blicke da ECHT nicht durch (( könnt ihr mir ein bsp für diesen fall geben?
                    Die verlinkte Seite enthält doch ein Beispiel ...

                    Was soll es bringen, wenn wir dir noch mehr von den Dingern - Beispielen - bringen, die du nicht verstehst ...?
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      so sattelfest bin ich in php nicht. mach das nur hobbymäßig, unentgeltlich für unsere usercommunity.

                      ich checks echt nicht. tut mir leid. da fehlen mir die hintergrundkenntnisse.

                      ich bemühe mich und will das ganze endlich einer lösung zuführen.
                      wie siehts denn damiit aus:

                      in meinem FORM habe ich aus:
                      PHP-Code:
                      <input name="name" type="text" id="name"
                      bei den betreffenden feldern das gemacht:
                      PHP-Code:
                      <input name="$_GET[name]type="text" id="name"
                      mit meinem ursprünglichen "echo"-link:
                      PHP-Code:
                      ...<a href=\"boerse_inserataufgabe.php?name=$_GET["name"]&telefon=$_GET["telefon"]\">... 
                      müßte das doch so funtzen. !?!?

                      anm.: über javascript ist es ja ein kinderspiel. einfach ein alert-fenster ausgeben und gut is. hat der user allerdings js im browser deaktiviert, funkt mein script nicht.
                      deshalb will ichs auf jeden fall php-seitig lösen.
                      Zuletzt geändert von Metallica; 07.02.2006, 11:53.
                      $PHP resource 4ever$

                      Kommentar


                      • #12
                        Original geschrieben von Metallica
                        bei den betreffenden feldern das gemacht:
                        PHP-Code:
                        <input name="$_GET[name]type="text" id="name"
                        Du willst doch nicht den Feldnamen durch das ersetzen, was der User auf der Vorseite eingegeben hatte, oder?
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          Doch!
                          Kurz nochmal zur Erläuterung:

                          Ich verwende nur ein php-script für die ganze funktionalität.
                          Dieses ist simpel und sieht wie folgt aus:

                          Es beinhaltet ein html-Formular, welches der User ausfüllen soll. Bei Klick auf Submit wird eine nicht existente Variable gesetzt und dieses Script nochmal von vorne durchlaufen. jetzt soll php die Usereingaben in die DB-Tab schreiben. Allerdings nur wenn der User alle Felder ausgefüllt hat.

                          Ist das nicht der FAll, gebe ich per php-Echo eine Message aus. (s. erstes Posting) und "biete" ihm einen ZURÜCK-Link (siehe ebenfalls IF im ersten Posting) in meine php an. beim klick auf den zurück-link soll der inhalt bereits ausgefüllter Felder im Formular wieder drinnenstehen, damit der User nur die leeren ergänzt und nicht alles nochmal ausfüllen muss.

                          kurzform:
                          form mit vars an php --> funtzt
                          php mit vars zurück an form --> funtzt nicht

                          Weißt du jetzt was ich erreichen will?
                          Im Prinzip simpel, viell. hab ich's nur zu kompliziert erklärt
                          Zuletzt geändert von Metallica; 07.02.2006, 12:13.
                          $PHP resource 4ever$

                          Kommentar


                          • #14
                            Ich hab' doch oben geschrieben, wie es aussehen muss. So und nicht anders !

                            Kommentar


                            • #15
                              meinst du so:
                              PHP-Code:
                                  if ($name == "" or $tel == "") {
                                    echo 
                              '<input type="text" name="name" value="' $_GET["name"] . '">';
                                    echo 
                              '<input type="text" name="tel" value="' $_GET["tel"] . '">';
                                    echo 
                              "<body bgcolor=\"#B8F2AF\"><center><br><FONT size=\"3\" color=\"#000000\" >Bitte fülle alle Felder vollständig aus.<br></font></center></body>";
                                    echo 
                              "<center><br><a href=\"boerse_inserataufgabe.php?name=$name&tel=$tel\"><FONT size=\"3\" color=\"#000000\" >ZURÜCK</font></a></center>";
                                    exit;
                                  } 
                              Zuletzt geändert von Metallica; 07.02.2006, 12:21.
                              $PHP resource 4ever$

                              Kommentar

                              Lädt...
                              X