echo $begrüßung;
so ist der Link zur Kasse:
https://ssl.domain.de/bestell1.php?<?=session_name() .'=' . session_id();?>
Und so die Übername auf dem SSL-Web:
Was gibt session_name() aus? Unter der Annahme, dass der Standardwert nicht geändert wurde, wäre es zwar möglich einmal die Funktion session_name() zu verwenden, und ein anderes Mal einen String, aber schön ist solch ein Wechsel nicht. Ich plädiere dafür, konsequent nur eins von beiden zu verwenden.
@session_start();
if($_GET["PHPSESSID"]!=""){$_COOKIE["PHPSESSID"]=$_GET["PHPSESSID"];}
Da der Keks beim Wechsel der Domain nicht übernommen werden kann, sehe ich eine Übergabe als GET-Parameter auch als sinnvoll an. POST wäre eventuell eine noch eine Alternative.
Um der Ursache auf den Grund zu gehen, wäre es hilfreich, die Session-IDs zu vergleichen. Die übergebene ID siehst du ja im Link. Gibt session_id() die selbe aus, wenn es nach dem session_start() abgefragt wird?
Hast du mal alle Fehlermeldungen eingeschaltet? error_reporting auf E_ALL eingestellt?
Nimm mal das @ von session_start() weg. Vielleicht gibt PHP noch einen Hinweis.
echo "$verabschiedung $name";