formular und post ! (einfach ;) )

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

  • formular und post ! (einfach ;) )

    ich stehe mal wieder auf dem schlauch:

    habe ein formular schicke das ganze via post weg und wird dann natürlich erstmal geprüft ob alles dabei ist (alles kein prob) und wenn aber dann eine eingabe fehlt kommt die fehlermeldung.

    stück aus dem prüfen und dem "link" zurück zum formular ! :

    PHP-Code:
    if(isset($_POST['submit_x'])) {
        if(
    $_POST['firstname'] == "") {
            echo 
    "[ Es müssen alle Pflichtfelder ausgefüllt werden.]<br /><br />\n";
                  echo 
    "<a href=\"meinlink\">Back</a>\n";
     }
    und so weiter bla bla 
    soo nun kommt das "schlauchstück" wo ich nicht weiter komme ! wenn ich dann zurück gehe zum formular möchte ich das ich die eingaben die schon eingeben wurden wieder drin stehen !! muss ich da alles in sessions packen oder so ?? ich komme nicht so richtig drauf ? das ich dann das value der eingabefelder verändern muss ist klar nur wie die post daten zurück ins formular und wie sieht dann der links aus ?????
    Zuletzt geändert von Frashier; 01.03.2004, 16:24.

  • #2
    schickst du das formular an sich selbst, also an die datei, die das formular enthält?

    dann schreib einfach
    PHP-Code:
    value="<?php echo $_POST['feldname']; ?>
    sollte als ansatz reichen *g*
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      ist klar das funzt nur ich möchte halt das formular ausblenden (platzgrund) da ich die fehlermeldung nicht über oder unter dem menu haben möchte !

      das formular wird auch an sich selbst geschickt und nicht an eine ex-datei.

      Kommentar


      • #4
        du willst, dass die beiträge drinstehen (1. post) aber du willst das formular ausblenden?

        du meinst nicht zufällig <input type="hidden" /> ?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Original geschrieben von mrhappiness

          dann schreib einfach
          PHP-Code:
          value="<?php echo $_POST['feldname']; ?>
          sollte als ansatz reichen *g*
          und wenn die variable noch nicht vorhanden ist, was ja vor dem abschicken dann so wäre, muss man dann noch ne if-abfrage einbauen oder gibts ne andere möglichkeit? habe das nämlich grad auch gebraucht und es kommt immer ne warnung undefinierte variable

          Kommentar


          • #6
            ich mache die formularprüfung über dem formular.

            1. felder eintragen (macht user *g*)
            2. absenden an sich selbst (gleiche datei)
            3. dann kommt die prüfung ob alles dabei ist und wenn nicht wird eine fehlermeldung angezeigt (das formular wird nicht nochmal darunter angezeigt).
            4. von der fehlermeldung geht dann wieder ein link zurück zum formular.
            wo dann in den feldern die schon eingetragenen daten stehen sollen (user kann seine fehler beseitigen bzw vergessene felder nachtragen)!
            Zuletzt geändert von Frashier; 01.03.2004, 16:46.

            Kommentar


            • #7
              Original geschrieben von lx-club
              und wenn die variable noch nicht vorhanden ist, was ja vor dem abschicken dann so wäre, muss man dann noch ne if-abfrage einbauen oder gibts ne andere möglichkeit? habe das nämlich grad auch gebraucht und es kommt immer ne warnung undefinierte variable
              da benütze ich dann immer:
              PHP-Code:
                      if(isset($_REQUEST['email'])) { 
                          echo 
              " value=\"".$_REQUEST['email']."\" \n"
                      } 
              das frage ich dann im eingabefeld ab !

              Kommentar


              • #8
                ich dachte eher an sowas hier:

                PHP-Code:
                value=".isset($_POST['name']) ? $_POST['name'] : ""." 
                habs aber noch nicht probiert

                Kommentar


                • #9
                  Original geschrieben von lx-club
                  PHP-Code:
                  value=".isset($_POST['name']) ? $_POST['name'] : ""." 
                  wenn du kein undefined index bekommen willst, ist das schon ok so
                  Kissolino.com

                  Kommentar


                  • #10
                    vielleicht zurück zu meinem thema ?? büdde !!

                    Kommentar


                    • #11
                      Original geschrieben von mrhappiness
                      du willst, dass die beiträge drinstehen (1. post) aber du willst das formular ausblenden?
                      du meinst nicht zufällig <input type="hidden" /> ?
                      Original geschrieben von lx-club
                      PHP-Code:
                      value=".isset($_POST['name']) ? $_POST['name'] : ""." 
                      lesen... verstehen ... kombinieren ... damit wären wir (wieder | immer noch) bei deinem thema @frashier
                      Kissolino.com

                      Kommentar


                      • #12
                        geht nicht ganz an meinem thema vorbei aber trifft nicht das was ich wissen möchte !!!

                        so sieht im groben mein formular aus und möchte nun wenn ein fehler auftritt von dieser fehlermeldung zurück zum formular und dann eben mit den schon eingegebenen daten !


                        PHP-Code:
                        echo "<form method=\"post\" action=\"formular.php\">\n";
                        if(isset(
                        $_POST['submit_x'])) {
                            if(
                        $_POST['firstname'] == "") {
                                echo 
                        "[ Es müssen alle Pflicht felder ausgefühlt werden.]\n";
                                echo 
                        "<a href=\"formular.php\">back</a>\n";
                            }elseif(
                        $_POST['name'] == "") {
                                echo 
                        "[ Es müssen alle Pflicht felder ausgefühlt werden.]\n";
                                echo 
                        "<a href=\"formular.php\">back</a>\n";
                            }elseif(
                        $_POST['street'] == "") {
                                echo 
                        "[ Es müssen alle Pflicht felder ausgefühlt werden.]\n";
                                echo 
                        "<a href=\"formular.php\">back</a>\n";
                            }elseif(
                        $_POST['nr'] == "") {
                                echo 
                        "[ Es müssen alle Pflicht felder ausgefühlt werden.]\n";
                                echo 
                        "<a href=\"formular.php\">back</a>\n";
                            }elseif(
                        $_POST['plz'] == "") {
                                echo 
                        "[ Ihre Nachricht muss l&auml;nger als 5 Zeichen sein. ]\n";
                                echo 
                        "<a href=\"formular.php\">back</a>\n";
                            }elseif(
                        $_POST['city'] == "") {
                                echo 
                        "[ Ihre Nachricht muss l&auml;nger als 5 Zeichen sein. ]\n";
                                echo 
                        "<a href=\"formular.php\">back</a>\n";
                            }elseif(
                        $_POST['street'] == "") {
                                echo 
                        "[ Ihre Nachricht muss l&auml;nger als 5 Zeichen sein. ]\n";
                                echo 
                        "<a href=\"formular.php\">back</a>\n";
                            }elseif(
                        trim($_POST['email']) == "") {
                                echo 
                        "[ Es wird Ihre Email Adresse ben&ouml;tigt um diese Nachricht zu senden. ]\n";
                                echo 
                        "<a href=\"formular.php\">back</a>\n";
                            }elseif(!
                        strstr($_POST['email'], "@") || !strstr($_POST['email'], ".")) {
                                echo 
                        "[ Ihre Email hat eine ung&uuml;ltige schreibweise. ]\n";
                                echo 
                        "<a href=\"formular.php\">back</a>\n";
                            }
                        }else{    
                        echo 
                        " <table cellspacing=\"0\" cellpadding=\"3\" border=\"0\" style=\"width: 270px;\">\n";
                        echo 
                        " <tr>\n";
                        echo 
                        "        <td class=\"h1\">Vorname</td>\n";
                        echo 
                        "         <td><input type=\"text\" name=\"firstname\" value=\"".$_POST['firstname']."\" class=\"input\" style=\"width: 183px;\" /></td>\n";
                        echo 
                        " </tr>\n";
                        echo 
                        " <tr>\n";
                        echo 
                        "        <td width=\"80\"class=\"h1\">Name*</td>\n";
                        echo 
                        "         <td><input type=\"text\" name=\"name\" class=\"input\" style=\"width: 183px;\" value=\"".$_POST['name']."\" /></td>\n";
                        echo 
                        " </tr>\n";
                        echo 
                        " <tr>\n";
                        echo 
                        "        <td class=\"h1\">Strasse/Nr.</td>\n";
                        echo 
                        "         <td><input type=\"text\" name=\"street\" value=\"".$_POST['street']."\" class=\"input\" style=\"width: 140px;\" />&nbsp;&nbsp;<input type=\"text\" name=\"nr\" value=\"".$_POST['nr']."\" class=\"input\" style=\"width: 35px;\" /></td>\n";
                        echo 
                        " </tr>\n";
                        echo 
                        " <tr>\n";
                        echo 
                        "        <td class=\"h1\">PLZ/Ort</td>\n";
                        echo 
                        "         <td><input type=\"text\" name=\"plz\" value=\"".$_POST['plz']."\" class=\"input\" style=\"width: 45px;\" />&nbsp;&nbsp;<input type=\"text\" name=\"city\" value=\"".$_POST['city']."\" class=\"input\" style=\"width: 130px;\" /></td>\n";
                        echo 
                        "    </tr>\n";
                        echo 
                        "    <tr>\n";
                        echo 
                        "        <td class=\"h1\">E-Mail</td>\n";
                        echo 
                        "         <td><input type=\"text\" name=\"email\" value=\"".$_POST['email']."\" class=\"input\" style=\"width: 183px;\" /></td>\n";
                        echo 
                        "    </tr>\n";
                        echo 
                        "    <tr>\n";
                        echo 
                        "    <tr>\n";
                        echo 
                        "        <td class=\"h1\">Telefon</td>\n";
                        echo 
                        "         <td><input type=\"text\" name=\"fon\" value=\"".$_POST['fon']."\" class=\"input\" style=\"width: 183px;\" /></td>\n";
                        echo 
                        "    </tr>\n";
                        echo 
                        "    <tr>\n";
                        echo 
                        "         <td colspan=\"2\"><input type=\"image\" name=\"submit\" src=\"img/button.gif\" /></td>\n";
                        echo 
                        "    </tr>\n";
                        echo 
                        "    </table></td>\n";

                        Kommentar


                        • #13
                          im grunde möchte ich wissen wie ich das formular neu lade aber eben die eingetragenen daten die ich ja im post array hab wieder mit zurück nehme !!

                          Kommentar


                          • #14
                            mach das doch eher so

                            PHP-Code:
                            //beispiel

                            if(empty($_POST['firstname'])) 
                            {
                            $f_firstname "X";
                             
                            $firstname "";
                            }
                            else
                            {
                            $f_firstname "";
                            $firstname $_POST['firstname'];
                            }

                            //die Ausgabe kannste auch mit if steuern.
                            echo"alle X Felder müssen noch ausgefüllt werden.";


                            echo 
                            " <tr>\n";
                            echo 
                            " <td class=\"h1\">Vorname ".$f_firstname."</td>\n";
                            echo 
                            " <td><input type=\"text\" name=\"firstname\" value=\"".$_POST['firstname']."\" class=\"input\" style=\"width: 183px;\" /></td>\n";
                            echo 
                            " </tr>\n"
                            mfg
                            marc75

                            <Platz für anderes>

                            Kommentar


                            • #15
                              hi marc,

                              ich habs nun schon mit sessions gelöst was ich eigentlich verhindert wollte bzw nach einer anderen lösung suchte. kann aber deinen tip für den besten hier krönen das mir dem dahinter schreiben ist top.
                              das gleiche mache ich immer in flash/php dingen und gebe dann hinter dem feld eine "?" aus ! bin ich aber selbst mal wieder nicht drauf gekommen (was man nicht im kopf hat, hat ma in den fingern)

                              danke

                              Kommentar

                              Lädt...
                              X