Dennis: Variablen in Strings

Beitrag lesen

Hi Kris,

$headers = "From: " . $_SERVER['REMOTE_USER']

. "<" . $_SERVER['REMOTE_USER'] . "@test.tld>";


> >   
> > Siehe auch [Zeichenketten-Operatoren](http://www.php.net/manual/de/language.operators.string.php).  
>   
> hat nicht funktioniert .\_. krieg "" als Absender  
  
Du hast dir mal `echo $headers;`{:.language-php} ausgeben lassen? Da sollte auf jeden Fall noch der richtige Wert drin stehen.  
  
Ich vermute, dass der Fehler erst beim Mailserver auftritt, dies könnte z.B. daran liegen, dass der Mailserver dich den Absender nicht überschreiben lässt. Bist du sicher, dass eine Manipulation des Absenders gestattet ist?  
  
Und was mir gerade noch einfällt - müssen die Header-Zeilen nicht alle mit \r\n abgeschlossen werden?  
  
  

> geklappt hat es prinzipiell wenn ich folgendes gesetzt habe :  
>   
> if ($user=="") {$user = $HTTP\_SERVER\_VARS['REMOTE\_USER']}  
  
Wo soll an dieser Stelle $user herkommen? Ich glaube, du meinst eher $\_GET['user'] bzw. $\_POST['user'] ... Verlasse dich nicht auf ein aktiviertes register\_globals.  
  
  

> Nun will ich lediglich das er die Variable nicht erst per $user übergibt, sondern direkt von der Quelle bezieht.  
> a) weniger Code  
> b) leichtere Fehlerfindung  
  
Der Code und die Fehlerfindung sind keine richtigen[tm] Gründe - der Hauptgrund, weshalb du den Usernamen \_auf keinen Fall\_ per Formular übergeben solltest ist, dass man die Formular-Daten \_beliebig\_ fälschen kann und somit User "dennis" E-Mails verschicken könnte, in denen als Absender der User "kris" stünde.  
  
  
MfG, Dennis.

-- 
Mein SelfCode: [ie:{ fl:( br:> va:) ls:\[ fo:) rl:( n4:# ss:) de:\] js:| ch:{ sh:| mo:} zu:|](http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%7B+fl%3A%28+br%3A%3E+va%3A%29+ls%3A%5B+fo%3A%29+rl%3A%28+n4%3A%23+ss%3A%29+de%3A%5D+js%3A%7C+ch%3A%7B+sh%3A%7C+mo%3A%7D+zu%3A%7C)  
  
„Von rechts ein Trabbi und von links auch frei!” \*g\*