mail funktion mit variable

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • mail funktion mit variable

    ich habe da ein problem mit der funktion mail:
    wenn ich die mail-adresse statisch eingebe (in diesem falle anstatt $_REQUEST['email-adresse']) schickt er problemlos die email weg. versuche ich aber die adresse dynamisch aus einer variable auszulesen, wird nichts gesendet.

    PHP Code:
    mail($_REQUEST['email-adresse'],$str_subject,$str_mail"From: " $str_abs); 
    falls jemand eine lösung zu dem problem wüßte wäre ich dankbar!
    david

  • #2
    Was steht denn da drinne, in $_REQUEST['email-adresse']?

    Übrigens, das per $_REQUEST zu machen empfinde ich als ziemlich dumm... evtl. überhaupt erstmal checken ob der Benutzer überhaupt ne richtige email addy angegeben hat....
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Comment


    • #3
      die variable überprüfe ich zuvor natürlich. in diesem falle wird sie von der vorherigen seite übergeben (deswegen mit $_REQUEST['']).
      mein problem liegt aber darin, dass die funktion anscheinen nichts mit variablen anfängt.

      beispiel
      PHP Code:
      $adresse "empfaenger@hotmail.com";
      mail($adresse,$str_subject,$str_text"From: " $str_abs); 
      auch wenn ich die variable direkt über der mail funktion definiere wird kein mail versendet

      nur wenn ich die adresse direkt in der funktion eingebe zb so
      PHP Code:
      mail("empfaenger@hotmail.com",$str_subject,$str_text"From: " $str_abs); 
      dann funktioniert das ganze

      Comment


      • #4
        dass die funktion anscheinen nichts mit variablen anfängt
        falsch, sie kommt super mit variablen klar. debugge noch ne runde und finde heraus, woran's wirklich liegt.

        Comment


        • #5
          Original geschrieben von david_b
          die variable überprüfe ich zuvor natürlich. in diesem falle wird sie von der vorherigen seite übergeben (deswegen mit $_REQUEST['']).
          Achja, das übergeben von Seite zu Seite ist natürlich auch seeehr sicher...
          da kann der User ja nichts mehr dran drehen[/Ironie]

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Comment


          • #6
            Original geschrieben von penizillin
            falsch, sie kommt super mit variablen klar. debugge noch ne runde und finde heraus, woran's wirklich liegt.
            Schonmal dran gedacht, dass die Funktion damit rein gar nichts zutun hat?
            Wenn hat PHP da nen Schuss, aber ne Programmiersprache, die es nicht schafft Variablen zu handlen muss wohl erst noch gemacht werden >_>

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Comment


            • #7
              Zumal meine mail() funktion super damit klar kommt... ;-)
              Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
              var_dump(), print_r(), debug_backtrace und echo.
              Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
              Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
              Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

              Comment


              • #8
                faktor sicherheit ist in diesem fall nicht so stark zu beachten, da es sich lediglich um eine danke-mail handelt, und somit keine sensiblen daten darin verschickt werden.
                wäre nett von euch, wenn ihr mir einen tipp geben könntet, warum die untenstehenden zeilen keine mail versenden?
                PHP Code:
                $adresse "empfaenger@hotmail.com";
                $str_subject "Danke!";
                $str_text "Für Ihr Interesse.";
                $str_abs "absender@hotmail.com";
                mail($adresse,$str_subject,$str_text"From: " $str_abs); 
                diese hingegen schon:
                PHP Code:
                $str_subject "Danke!";
                $str_text "Für Ihr Interesse.";
                $str_abs "absender@hotmail.com";
                mail("empfaenger@hotmail.com",$str_subject,$str_text"From: " $str_abs); 
                danke
                david

                Comment


                • #9
                  mh auch mein versuch die mail-adresse zuerst auszulesen, in eine variable zu schreiben und dann die variable als absender in der mailfunktion zu definieren, schlug fehl.

                  PHP Code:
                  $str $_REQUEST['email-adresse'];
                  mail($str,$str_subject,$str_mail"From: " $str_abs); 
                  hat den keiner eine ahnung wieso es einfach nicht klappen will?
                  danke david

                  edit:
                  auch mit folgenden zeilen will's nicht klappen
                  PHP Code:
                  $str $_REQUEST['email-adresse'];
                  settype($se,"string");
                  mail($str,$str_subject,$str_mail"From: " .  str_abs); 
                  Last edited by david_b; 15-02-2005, 17:28.

                  Comment


                  • #10
                    Fehlermeldung? was kommt bei error_reporting(E_ALL); ?
                    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                    var_dump(), print_r(), debug_backtrace und echo.
                    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                    Comment


                    • #11
                      PHP Code:
                      NoticeUndefined indexemailadresse in C:\Program Files\Apache
                      Group
                      \Apache2\htdocs\flamenco\test2.php on line 8 
                      kommt bei diesem script:
                      PHP Code:
                      <?php
                      error_reporting
                      (E_ALL);

                         
                      $str_subject "test-subject";
                         
                      $str_mail "test-mail-inhalt";
                         
                      $str_abs "katalog@flamenco-sprachreisen.com";

                         if (
                      $_REQUEST['email-adresse']) 
                         {
                             
                      $str $_REQUEST['email-adresse'];
                               
                      settype($str,"string");
                             
                      mail($str,$str_subject,$str_mail"From: " $str_abs);
                         }
                         else
                         {
                      ?>
                          <FORM name='Katalogbestellung' action='test2.php' method='post'>
                              <INPUT class=formular tabIndex=5 size=35 name=email-adresse>
                              <input class=formular type=submit name="Submit" value=Absenden>
                          </FORM>
                      <?php
                          
                      }
                      ?>
                      (hab die wichtigen teile rausgefiltert)

                      check die fehlermeldung aber nicht, da er ja in der zeile 8 nur prüft ob es $_REQUEST['email-adresse'] gibt

                      david

                      EDIT:
                      habe mit hilfe von isset die fehlermeldung weggebracht, aber ein mail schickt er trotzdem nicht weg
                      PHP Code:
                      if (isset($_REQUEST['email-adresse'])) 
                      Last edited by david_b; 15-02-2005, 18:27.

                      Comment


                      • #12
                        versuche auf sog. "bindestriche" in feldernamen zu verzichten und setze anführungsstriche um die werte drumrum.

                        Comment


                        • #13
                          hab das problem gelöst; fehler: ich habe das vorgegebene format nicht eingehalten --> nachdem ich die 2. zeile in der if-abfrage hinzugefügt habe funktionierte es einwandfrei
                          PHP Code:
                             if (isset($_REQUEST['email-adresse']))
                             {
                                 
                          $email_adresse $_REQUEST['email-adresse'];
                                 
                          $email_to "$email_adresse <$email_adresse>";
                                 
                          mail($email_to,$str_subject,$str_mail"From: " $str_abs);
                             } 
                          danke trotzdem für alle hilfestellungen
                          david

                          Comment

                          Working...
                          X