Sebastian: Klappt jetzt mit workaraound, verstehe aber nicht, warum!

Beitrag lesen

Hallo Selfer,

durch Ausprobieren auf gut Glück konnte ich das Kuriosum beheben. Nur leider verstehe ich nicht, warum es nun geht und vorher nicht ging.

Nochmal kurz zur Erinnerung: Eine dynamisch erstellte URL mit zwei Zahlen als Parameter, so im PHP-Code dargestellt

$mail_body.="http://www.domain.de/pruefung.php?id=" . $id . "&nr=" . $nr;

kam ohne die Parameter an, nämlich so:

http://www.domain.de/pruefung.php?id=&nr=

Das gleiche per echo ausgegeben, enthielt die Parameter:

http://www.domain.de/pruefung.php?id=2&nr=3

Nun habe ich jeweils zwei Unterstriche in die URL vor die Parameter eingefügt:
  $mail_body.="http://www.domain.de/pruefung.php?id=__" . $id . "&nr=__" . $nr;

Und siehe da, es erscheinen in der Mail die korrekten Parameter _ohne_ die Unterstriche:
  http://www.domain.de/pruefung.php?id=2&nr=3

Funktioniert bei ein-, zwei- und dreistelligen Zahlen. Die gleiche URL probehalber per echo ausgegeben, enthält nun wiederum die Unterstriche (was egal ist, weil es mir ja auf die Mail ankam):
  http://www.domain.de/pruefung.php?id=__2&nr__=3

Im Grunde könnte ich ja jetzt zufrieden sein, denn es funktioniert nun so, wie ich es brauche. Aber ich möchte gerne _vesretehen_, warum es so klappt und anders nicht geklappt hat und warum mail() anders reagiert als echo"".

Wenn mir da jemand auf die Sprünge helfen könnte, wäre das Klasse!

Schönes Rest-Wochenende noch -
Sebastian