Dynamisch generierte Textfelder mit php ausgeben!?!

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

  • Jetzt überleg nochmal ganz genau:
    Der User schickt das Form ab. Daten werden verarbeitet und der From Teil der Email wird in die Session geschrieben. Jetzt klickt der User auf den Link zum Verschicken der Email. Was passiert? Die Session From Daten werden nochmals geschrieben und da du keine POST Werte mehr hast, werden auch keine eingesetzt. Der String ist zwar nicht ganz leer, stellt aber mit Sicherheit keine gültige Email Adresse dar.
    Prüfe bevor du die Session Daten für den Absender schreibst, ob die Session Var nicht bereits gesetzt ist!
    PHP-Code:
    $to "meine@mail.de";
    $subject "Anforderung";
    if(!isset(
    $_SESSION['from']) || empty($_SESSION['from']){
      
    $_SESSION['from'] = "From: ".$_POST['anfVorname']." ".$_POST['anfName']." ".$_POST['anfMail']."\r\n";
    }
    //Rest deines Codes 
    Und jetzt sollte es klappen

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • Jetzt steht nichts mehr im From:

      "... ["sonstiges5"]=> string(0) "" ["sonstiges6"]=> string(0) "" } From:"
      Zuletzt geändert von timmey883; 06.03.2008, 11:07.

      Kommentar


      • Jetzt steht nichts mehr im From:
        Jetzt poste mal wieder ein paar Zeilen Code. Weil eigentlich müsste es so funzen... Die Session ID wird beim Klick auf den Link aber schon übergeben?
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • PHP-Code:
          $to "meine@mail.de";
          $subject "Anforderung";

          if(!isset(
          $_SESSION['from']) || empty($_SESSION['from']))
          {
            
          $_SESSION['from'] = "From: ".$_POST['anfVorname']." ".$_POST['anfName']." ".$_POST['anfMail']."\r\n";
          }

          echo 
          $_SESSION['from'];
              

          if(isset(
          $_GET['mail'],$_SESSION['mailContent'])) 
              {
                
          mail($to,$subject,$_SESSION['mailContent'],$_SESSION['from']);
              echo 
          "<font color='#000000'>
          Vielen Dank.<br>Ihre Daten wurden erfolgreich gesendet.
          <br>Sie k&ouml;nnen das Formular
           jetzt schlie&szlig;en.</font>"
          ;
              echo 
          '<hr><strong><a href="" 
          onClick="window.close();">Formular schlie&szlig;en</a><p>'
          ;
              exit;
              } 
          Wird die Sesseion ID in der Adresszeile angezeigt?

          Kann es sein, dass ich die FORM SESSION noch extra starten muss?
          Habe jetzt nur ein Sesseion_start() angegeben.
          Zuletzt geändert von timmey883; 06.03.2008, 11:28.

          Kommentar


          • Mal so probiert?
            PHP-Code:
            if((!isset($_SESSION['from']) || empty($_SESSION['from']) || $_SESSION['from'] == 'From: ') && isset($_POST))
            {
              
            $_SESSION['from'] = "From: ".$_POST['anfVorname']." ".$_POST['anfName']." ".$_POST['anfMail']."\r\n";

            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • Mh, das funktioniert leider auch nicht.

              Kommentar


              • Mh, das funktioniert leider auch nicht
                Wiedermal ne sehr aussagekräftige Fehlerbeschreibung
                Dann brauche ich jetzt noch mehr Code von dir und zwar alles von der ersten Zeile bis nach dem Mailversand in deinem Script. Dann schaun wir weiter...

                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • Es hat sich nichts geändert.

                  Dann könnte ich dir auch direkt die ganze Datei rüberschicken
                  Das wäre nämlich ne ganze Menge Code.

                  Kommentar


                  • Dann prüfe jetzt mal ob die Session wenigstens korrekt gesetzt wird
                    PHP-Code:
                    if((!isset($_SESSION['from']) || empty($_SESSION['from']) || $_SESSION['from'] == 'From: ') && isset($_POST))
                    {
                      
                    $_SESSION['from'] = "From: ".$_POST['anfVorname']." ".$_POST['anfName']." ".$_POST['anfMail']."\r\n";
                      die(
                    $_SESSION['from']);

                    ergibt das nach dem Absenden des Formulars eine Ausgabe der Session From?
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar


                    • Sorry, alles wieder zurück:

                      Er bringt nun wieder ne Fehlermeldung...
                      Warning: mail() [function.mail]: SMTP server response: 501 Syntax error, parameters in command "MAIL FROM:<Max Mustermann Max.Mustermann@lala.de>" unrecognized or missing in C:\xampp\htdocs\request_ge.php on line 22


                      Als ausgabe laut echo $_SESSION['from']:
                      "From: Max Mustermann Max.Mustermann@lala.de"
                      Zuletzt geändert von timmey883; 06.03.2008, 13:04.

                      Kommentar


                      • Nein. Ergibt weder beim Absenden des Forms (1.:html --> php) noch beim Senden der Email (php --> Email) eine Ausgabe.
                        Ist okay, dass es beim Senden der Email keine Ausgabe erzeugt, aber beim Senden des Forms an PHP müsste diese Ausgabe eigentlich erfolgen.
                        Ist der dump eigentlich vom POST-Array oder von der Session?
                        hast du probiert zu verifizieren ob du überhaupt in die Bedingung reinkommst?
                        PHP-Code:
                        if((!isset($_SESSION['from']) || empty($_SESSION['from']) || $_SESSION['from'] == 'From: ') && isset($_POST))
                        {
                          die(
                        'Komme in die Bedingung rein');
                          
                        $_SESSION['from'] = "From: ".$_POST['anfVorname']." ".$_POST['anfName']." ".$_POST['anfMail']."\r\n";
                          die(
                        $_SESSION['from']);

                        Jetzt müsste, wenn du das Form abgeschickt hast, die Meldung 'Komme in die Bedingung rein' angezeigt werden. Ist dem so?
                        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                        Kommentar


                        • Hab meinen vorherigen Eintrag etwas geändert
                          Also ich habe schon eine Ausgabe erhalten.
                          Das war der $_POST array und am ende hinter der geschweiften Klammer die $_SESSION['form'].

                          "Komme in die Bedingung rein" wird aber auch nicht angezeigt.

                          Kommentar


                          • Dann ist die Session jetzt also korrekt gesetzt?
                            Die Fehlermeldung sagt mir, dass die < und > falsch resp gar nicht gesetzt sind. Probier jetzt nochmal die Email Adresse und NICHT den Namen in < und > zu packen à la
                            Code:
                            Max Mustermann <max.mustermann@domain.de>
                            Gruss

                            tobi
                            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                            Kommentar


                            • Sorry, hatte gerade mal neugestartet:

                              Also jetzt schreibt er mir das:

                              array(24) { ["anfVorname"]=> string(3) "Max" ["anfName"]=> string(10) "Mustermann" ["anfAbteilung"]=> string(0) "" ["anfTel"]=> string(4) "1234" ["anfPersnr"]=> string(0) "" ["anfMail"]=> string(17) "Max@mustermann.de" ["userVorname"]=> string(5) "Harry" ["userName"]=> string(6) "Hirsch" ["userAbteilung"]=> string(0) "" ["userTel"]=> string(4) "0000" ["userPersnr"]=> string(0) "" ["userAnstellung"]=> string(0) "" ["userDauer"]=> string(0) "" ["zusBerecht"]=> string(0) "" ["sonstiges1"]=> string(0) "" ["sonstiges2"]=> string(0) "" ["sonstiges4"]=> string(0) "" ["kategorie"]=> string(0) "" ["Monitor"]=> string(0) "" ["CDLWBR"]=> string(0) "" ["DVDLWBR"]=> string(0) "" ["Drucker"]=> string(0) "" ["sonstiges5"]=> string(0) "" ["sonstiges6"]=> string(0) "" } Komme in die Bedingung rein

                              Aber sonst wird nichts angezeigt in der .php.
                              Zuletzt geändert von timmey883; 06.03.2008, 13:53.

                              Kommentar


                              • Ist doch schonmal gut wenn 'Komme in die Bedingung rein' angezeigt wird. Entferne mal noch alle die() aus der Bedingung und schau ob die Email wie gewünscht verschickt wird.

                                Gruss

                                tobi
                                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                                Kommentar

                                Lädt...
                                X