Formulardaten

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

  • Formulardaten

    Ich habe folgendes Problem:

    Ich habe in eine html Seite zwei PHP Scripts integriert;
    Im ersten Script werden Daten aus einer Datenbank ausgelesen und ausgegeben.
    Im zweiten Script wird eine E-Mail mit den ober ausgelesen Daten versendet.
    Mein Problem ist ich habe zwischen den beiden Scripten ein Formular, dass einen submit-Button und ein Textfeld enthält;
    Der Inhalt dieses Textfeldes soll auch mit in die E-Mail und über den submit-Button soll die E-Mail verschickt werden.
    Die Formulardaten habe ich per $PHP_SELF übergeben.
    In meinem zweiten Script habe ich ne if- Schleife integriert die überprüft ob submit gedrückt wurde;
    <? if (isset($submit)){ mail (...) } ?>
    Leider werden nur die $nachricht aus dem Formular in die E-mail gechrieben. - Meine Daten aus dem ersten Script werden ignoriert;
    Wenn ich die if - Schleifen weglasse werden zwar die Daten aus dem ersten Script übergeben aber nicht die des Formulars;
    Ich habe versucht die Variablen des ersten Scripts per hidden-Feld im Formular zu übergeben aber das funktioniert auch nicht, da die Daten die aus der Datenbank kommen im SQL- Statement ( SELECT * FROM $dbname WHERE [USER] = '$user'"; ) vorselektiert werden.
    Die Variable $user wird im Vorfeld über die URL per get-Methode übergeben. - Auf diese Variable kann im Formular nicht zugegriffen werden.

    Habt Ihr vielleicht ne Lösung parat;

    Cu

    Michael
    knowledge is power - arm yourself

  • #2
    nen bisschen mehr code wäre hilfreich
    Kissolino.com

    Kommentar


    • #3
      Der Code des ersten Scripts

      <? include ('dbConnect.php');



      $sql = "SELECT * FROM $dbname WHERE [USER] = '$user'";
      $res = odbc_exec ($conn, $sql);



      $kdnr = odbc_result($res, 3);
      $name1 = odbc_result($res, 6);

      u.s.w. ?>



      Formularcode:


      <form method="post" action="<? echo $PHP_SELF ?>">
      <textarea cols=25 rows=4 input type="text" name="nachricht" ></textarea>
      <input type="submit" name="submit" value="BESTELLEN">

      <input type="hidden" name="kdnr" value="$kdnr">

      </form>


      Code des zweiten Scripts:


      if (isset($submit)){


      $to = "fsdlkfjls@sd.de";
      $message = " Kundennummer: $kdnr \n Name: $name1 \n ;
      $betreff = "Musterbestellung";

      mail($to, $betreff, $message, $header);}
      ?>
      knowledge is power - arm yourself

      Kommentar


      • #4
        äh, wäre das nicht angebrachter

        PHP-Code:
        <input type="hidden" name="kdnr" value="<? echo $kdnr;?>">
        Kissolino.com

        Kommentar


        • #5
          funzt leider auch nicht ; Er gibt nur den Inhalt der $nachricht aus dem Formular aus ;
          knowledge is power - arm yourself

          Kommentar


          • #6
            Im Formular <form> </form> kann ich mir merkwürdigerweise die Variable ausgeben lassen <? echo $kdnr;?>; wieso überträgt er sie nicht ?!?
            knowledge is power - arm yourself

            Kommentar


            • #7
              also ich hab das mal für mich abgewandelt und
              so funzt das einwandfrei

              PHP-Code:
              <?

              $kdnr = "12345";
              $name1 = "mustermann";

              ?>




              <form method="post" action="<? echo $PHP_SELF; ?>">
              <textarea cols=25 rows=4 input type="text" name="nachricht" ></textarea>
              <input type="submit" name="submit" value="BESTELLEN">

              <input type="hidden" name="kdnr" value="<? echo $kdnr;?>">

              </form>


              <?


              if (isset($submit))
              {


              $to = "fsdlkfjls@sd.de";
              $message = " Kundennummer: $kdnr \n Name: $name1 \n ";
              $betreff = "Musterbestellung";

              //mail($to, $betreff, $message, $header);


              echo $message."<br>".$betreff;

              }
              ?>
              Kissolino.com

              Kommentar


              • #8
                Stimmt -- Wenn ich die variable "per Hand" definiere <? $kdnr = "876876"; ?> funzt - Des is genau des was ich net verstehe; weil wenn ich mir die Datenbankabfrage $kdnr mit echo ausgeben lasse zeigt er mir sie ja auch an, er überträgt sie aber nicht ;
                knowledge is power - arm yourself

                Kommentar


                • #9
                  wenn alles in derselben php-datei steht, sollte das so sein
                  oder ist der code auf 2 dateien verteilt?
                  Kissolino.com

                  Kommentar


                  • #10
                    Der Code ist in einer Datei
                    knowledge is power - arm yourself

                    Kommentar


                    • #11
                      *schlag vor die stirn*

                      wenn du dein form das 2. mal sendest, dann

                      => wird auch die db-abfrage erneut ausgeführt !!!
                      da aber kein $user definiert wird ist $kdnr LEER und futsch

                      also entweder $user mit ins form packen uder if-abfrage für die db-query.

                      gruss wurzel
                      Kissolino.com

                      Kommentar


                      • #12
                        Vielen Dank du hast recht
                        knowledge is power - arm yourself

                        Kommentar


                        • #13
                          Klappt aber auch nicht, da ich die Variable $user, die ich für die Abfrage brauche das zweite mal nach dem reload nicht mehr zur Verfügung habe;
                          Sessions kann ich auch nicht verwenden, da der Server nicht für Sessions konfiguriert ist und ich keinen Adminrechte habe;
                          Gibt es da noch ne Möglichkeit meine $user das zweite mal zur Verfügung zu haben
                          knowledge is power - arm yourself

                          Kommentar


                          • #14
                            mache beim ersten mal die db-abfrage, und füge $user als hidden-feld ins formular mit ein.
                            dann kannst du es beim zweiten aufruf, wo du die db-abfrage nicht mehr machst, als POST-variable wieder auslesen.

                            oder hänge $user als GET-parameter an den scriptnamen im action-attribut des form-tags an, dann hast du es wieder als GET-variable zur verfügung.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              Vielen vielen Dank jetzt hats endlich funktioniert

                              Cu
                              Michael
                              knowledge is power - arm yourself

                              Kommentar

                              Lädt...
                              X