mail funktion mit variable

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

  • 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.

    Kommentar


    • #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

      Kommentar


      • #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.

        Kommentar


        • #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

          Kommentar


          • #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

            Kommentar


            • #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.

              Kommentar


              • #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

                Kommentar


                • #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); 
                  Zuletzt geändert von david_b; 15.02.2005, 16:28.

                  Kommentar


                  • #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.

                    Kommentar


                    • #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'])) 
                      Zuletzt geändert von david_b; 15.02.2005, 17:27.

                      Kommentar


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

                        Kommentar


                        • #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

                          Kommentar

                          Lädt...
                          X