[PHP] Variable in Mail()

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Bratkartoffl, 30. September 2010 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 30. September 2010
    Variable in Mail()

    Hallo zusammen,

    ich habe eine Reihe von Variablen, die ich in einer Email verschicken will.
    Eine Variable jedoch wird mir zwar auf der Webseite ausgegeben wenn ich ein echo mache, allerdings tauch sie in der Email nicht auf, die rausgeht.

    Deshalb denke ich, das der Fehler im Mail() Syntax liegt.

    Hier der Codeauszug:

    PHP:

    $empfaenger 
    "xy@xy.de" ;
    $betreff  "XYZ  $_POST [ XYZ ] $_POST [ WXYZ ] " ;

    $sent  mail ( $empfaenger $betreff "Test Text:"  .   $_POST [ XYZ ] .  "Variable die nicht angeziegt wird:"  $XYZ  "Content-type: text/html \n" );
    Wie ihr seht handelt es sich dabei einmal um eine POST Variante und einmal um eine normal deklarierte Variable $XYZ.

    Diese XYZ Variable wird in der Email nicht angezeigt!

    Habe ich da vielleicht einen falschen Syntax oder warum wird diese Variable nicht angezeigt die Post Version hingegen angezeigt?

    Grüße
     
  2. 30. September 2010
    AW: Variable in Mail()

    versuch mal so:

    PHP:
    $empfaenger  "xy@xy.de"
    $betreff  "XYZ  $_POST [ XYZ ] $_POST [ WXYZ ] "
    $text  "Test Text:"  .   $_POST [ XYZ ] .  "Variable die nicht angeziegt wird:"  $XYZ ;

    $sent  mail ( $empfaenger $betreff $text "Content-type: text/html \n" );
    edit: oben haste auch den punkt zum verbinden zwischen string und variable vergessen
     
  3. 30. September 2010
    AW: Variable in Mail()

    Die richtige Syntax lautet: $_POST['XYZ'].
    $XYZ ist nur verfügbar wenn register_globals eingeschaltet ist (was es bei neueren PHP-Versionen nicht ist, wegen Sicherheitsrisiken).

    Ansonsten kannst du in die erste Zeile mal
    PHP:
    var_dump ( $_POST );
    einfügen um zu checken welche Daten das Script überhaupt bekommt.
     
  4. 1. Oktober 2010
    AW: Variable in Mail()

    Die Post Variablen funktionieren ja alle. Nur de normale $XYZ Variable wird nicht geholt..
    Den Punkt habe ich im Code, daran lag es nicht.
     
  5. 1. Oktober 2010
    AW: Variable in Mail()

    Wenn das nicht Funktioniert, dann ist register_globals auf OFF, wie encud schon geschrieben hat.


    "Variable die nicht angeziegt wird:" . $XYZ
     
  6. 1. Oktober 2010
    AW: Variable in Mail()

    PHP:
    echo  $_POST [ 'xyz' ];

    $xyz  'was weiss ich' ;
    echo 
    $xyz ;
    $xyz muss auch vorhanden sein um eine ausgabe zu bekommen.
     
  7. 1. Oktober 2010
    AW: Variable in Mail()

    naja er will ja ne email schicken, da brauch er ja kein echo...

    das register_globals kam übrigens von bene und nicht von mir^^

    aber müsste er normalerweise nicht auch nen fehler oder wenigistens ne notice ausspucken?
    wenn nicht schreib mal folgendes in die erste zeile deines Scripts und schick die mail nochmal:
    PHP:
    error_reporting ( E_ALL );
     
  8. 3. Oktober 2010
    AW: Variable in Mail()

    Hallo zusammen,

    vielen Dank, hab den Fehler gefunden.
    Die Variablendeklaration kam erst nach der Mail funktion. Deswegen konnte er das ganze ja nicht übernehmen, da die variable zum, Zeitpunkt des Mailversandes noch undefinded war.

    Vielen Dank für all eure tips, habe einiges mitgenommen!
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.