Variablen von FORM in PHP zwischenspeichern

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

  • #16
    Nein, so eher nicht.

    Du hast doch 2 Seiten.

    1. die mit den Eingaben und der <form ...>

    2. die mit der Fehlermeldung und dem Link "Zurück".

    Wenn du nun auf Seite 1 bei den einzelnen Textfeldern meinen obigen Text einbaust (auch mit dem value=....) und bei dem "Zurück" Link sowas wie "boerse_inserataufgabe.php?name=$_REQUEST['name'] ...." machst, dann funktioniert das.

    Gruß

    Le Cheffe

    Kommentar


    • #17
      Nein!
      Ich habe nur eine php-datei in der sich alles abspielt. der ZURÜCK-Link ruft die gleiche datei wieder auf.

      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;
          }

      //html-teil
      <form name="inserat" method="post" action="<?php echo "boerse_inserataufgabe.php"?>"> //die php-datei ruft sich bei action nochmals selbst auf und schreibt in die DB, wenn alle felder ausgefüllt sind. Wenn nicht, dann geht php in die IF rein
      Zuletzt geändert von Metallica; 07.02.2006, 12:28.
      $PHP resource 4ever$

      Kommentar


      • #18
        Original geschrieben von Metallica
        Doch!
        Du willst deine Formularfelder so benennen, dass sie wie das heißen, was der User eingegeben hat ...?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #19
          Original geschrieben von wahsaga
          Du willst deine Formularfelder so benennen, dass sie wie das heißen, was der User eingegeben hat ...?
          Nein! Ich will mir den Inhalt bereits vom User ausgefüllter Felder merken.
          Kurzform:
          form mit vars an php --> funtzt einwandfrei!

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

          zu letzterem meine Situation: Es gibt 4 Pflichinputfelder. Der User füllt aber nur 2 aus. PHP gibt per Echo aus, dass er alle Felder ausfüllen muss und bietet ihm einen ZURÜCK-Link. Klickt er diesen, soll der Inhalt der ausgefüllten Felder im Form wider drinnenstehen, sodass er nur die beiden nichtausgefüllten ergänzen muss.
          (Das alles spielt sich bei mir in einem einzigen php-script.)
          That's all!
          Zuletzt geändert von Metallica; 07.02.2006, 12:39.
          $PHP resource 4ever$

          Kommentar


          • #20
            Original geschrieben von Metallica
            Nein! Ich will mir den Inhalt bereits vom User ausgefüllter Felder merken.
            Eben deshalb frug ich ja nach, weil du vorhin schriebst:
            Original geschrieben von Metallica
            bei den betreffenden feldern das gemacht:
            PHP-Code:
            <input name="$_GET[name]type="text" id="name"
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #21
              ok, check schon die lage.

              muss ich viell. ein $_GLOBAL vor meine var's setzen? (sind seites des providers auf ON)

              wie gesagt, geht es noch immer um diese eine Zeile:
              PHP-Code:
              if ($name == "" or $tel == "") {
                    echo 
              "<center><br><a href=\"boerse_inserataufgabe.php?name=$_GLOBAL["$name"]&$GLOBAL["$tel"]\"><FONT size=\"3\" color=\"#000000\" >ZURÜCK</font></a></center>";
                    exit;
                  } 
              $PHP resource 4ever$

              Kommentar


              • #22
                Mal was ganz anderes, wieso willst du unbedingt einen Zurück-Link?
                Du kannst doch auch das selbe Formular nochmal anzeigen und oben drüber deine Fehlermeldung packen?!
                Somit ersparst du dir das ganze hin und her geschicke der Daten.

                ps.: Hab mir nich alles durchgelesen, wenn das schon erklärt wurde ignorieren.


                Und jetzt geh ich mal den Antwort-Button suchen.


                *edit*
                Du musst schon Globals verwenden, aber nicht diese.

                PHP-Code:
                if ($_POST['name'] == "" or $_POST['tel'] == "") {
                      echo 
                "<center><br><a href=\"boerse_inserataufgabe.php?name=$_POST['name']&tel=$_POST['tel']\">
                <FONT size=\"3\" color=\"#000000\" >ZURÜCK</font></a></center>"
                ;
                      exit;
                    } 
                Zumindest wenn du dein Formular per method="post" abschickst, wenn sie per URL übergeben werden musst du $_GET nehmen.
                Zuletzt geändert von sagg; 07.02.2006, 13:04.
                mfg - sagg

                Kommentar


                • #23
                  So. Mein letzer Versuch hier.

                  PHP-Code:

                  if (empty($_POST["absenden"]) || empty($_POST["eingabe"])) {

                     if (empty(
                  $_POST["eingabe"]) && !empty($_POST["absenden"])) {
                        echo 
                  '<br>Scheisse Alder, du sollst doch die Eingabe nicht leer lassen!!!!!!!!!!!!!!111111111111<br>';
                     }
                     echo 
                  '<form name="meinschickesformular" method="POST" action="' $_SERVER["PHPSELF"] . '">';
                     echo 
                  '<input name="eingabe" value="' $_POST["eingabe"] . '" type="text">';
                     echo 
                  '<input name="absenden" value="Weg damit" type="submit">';
                     echo 
                  '</form>';
                  } else {
                     echo 
                  'Meine kleine (nicht leere) Eingabe lautet ' $_POST["eingabe"];

                  So. Das ist zwar nicht schön und vermutlich haben sich noch Fehler eingeschlichen, aber von der grundsätzlichen Logik her sollte es so hinkommen.

                  Gruß

                  Le Cheffe

                  Kommentar


                  • #24
                    @Sagg
                    scheint mir für mein problem die naheliegendste lösung zu sein. hab's deshalb genauso bei mir eingefügt wie du's gepostet hast. bekomme aber 'nen parseerror.

                    genau hier:
                    PHP-Code:
                    echo "<center><br><a href=\"boerse_inserataufgabe.php?name=$_POST['name']&tel=$_POST['tel']\... 
                    fällt dir was auf? stimmt da was mit $_POST nicht?? ich erkenne nichts. wie gesagt: hab's kopiert u eingefügt. ist absolut identisch. einen tippfehler meinerseits kann ich ausschliessen.
                    $PHP resource 4ever$

                    Kommentar


                    • #25
                      PHP-Code:
                      echo "<center><br><a href=\"boerse_inserataufgabe.php?name=".$_POST['name']."&tel=".$_POST['tel']."\">
                      <FONT size=\"3\" color=\"#000000\">ZURÜCK</font></a></center>"

                      So geht's.
                      mfg - sagg

                      Kommentar


                      • #26
                        @Sagg,

                        hab's jetzt genau so gemacht. ParseError ist weg.

                        habe testweise in meinem formular das feld "Name" ausgefüllt und das feld "telefon" leer gelassen.
                        php kommt in die IF rein und gibt per echo "Eingabe unvollständig. ZURÜCK" aus. wenn ich im IE mit der Maus über ZURÜCK fahre, sehe ich links unten im IE den link mit dem Variableninhalt. Nämlich:
                        boerse_inseratsaufgabe.php?name=test…

                        Fazit: Er hat den Variableninhalt. Verliert ihn aber beim Zurückwechseln in das Formular.
                        Kann es viell. sein, dass bei einem neuladen des Forms alle Inputfelder auf Blank zurückgesetzt werden?
                        $PHP resource 4ever$

                        Kommentar


                        • #27
                          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;
                              } 
                          Stimmt das so noch?
                          Wenn ja, muss die IF-Abfrag geändert werden.
                          PHP-Code:
                          if ($_GET['name'] == "" or $_GET['telefon'] == ""
                          So wäre es richtig.
                          mfg - sagg

                          Kommentar


                          • #28
                            es stimmt noch.
                            allerdings habe ich jetzt bei ZURÜCK ein leeres inputfeld was ich dort nicht gebrauchen kann.

                            merken tut er sich's so auch nicht.

                            Glaubst du nicht, dass beim neuladen des Forms alle Inputfelder auf Blank zurückgesetzt werden?
                            Ich glaube, das ist das Problem! Was meinst Du?
                            $PHP resource 4ever$

                            Kommentar


                            • #29
                              Original geschrieben von Metallica
                              Glaubst du nicht, dass beim neuladen des Forms alle Inputfelder auf Blank zurückgesetzt werden?
                              Ich glaube, das ist das Problem! Was meinst Du?
                              Glaube ich nicht, je nach dem, was du mit neuladen meinst.

                              Wenn du allerdings damit das klicken auf den "Zurück"-Link meinst, kann das nicht sein, da du ja alle Daten wieder übergibst und sie somit in der URL stehen, von dort aus können sie ja wieder ausgelesen werden.
                              mfg - sagg

                              Kommentar


                              • #30
                                Original geschrieben von Metallica
                                Kann es viell. sein, dass bei einem neuladen des Forms alle Inputfelder auf Blank zurückgesetzt werden?
                                Kann es vielleicht sein, dass du nichts unternommen hast, um das zu verhindern?

                                (Oder das dein Cache dir einen Streich spielt?)
                                I don't believe in rebirth. Actually, I never did in my whole lives.

                                Kommentar

                                Lädt...
                                X