Hallo,
Du solltest niemals die Short-Opening-Tags nehmen, schreibe stattdessen <?php
Warum?? Auf meinem Server sind die Short-open-Tags erlaubt.
Ja. Auf Deinem Server. Heute.
Was, wenn Du uebermorgen einen neuen Provider nehmen musst?
Oder wenn Du das Skript mal einem Freund/Kunden weitergibst?
Willst Du dann alle Skripts ausprobieren und nachbessern?
Gewoehn Dir gleich von Anfang an eine saubere, vollstaendige
Schreibweise an.
<?php ... ?>
funktioniert _ueberall_, <? ... ?> nur selten.
if (SID){$sess="&".SID;}else{$sess="";}
Das scheint fuer Deinen Zweck angemessen zu sein.
Du solltest aber isset() verwenden.
if (isset(SID)) {$sess="&".SID;}else{$sess="";}
Alternativ koennte man schreiben:
$sess=(isset(SID)) ? "&".SID : "";
Also, Du bist sicher dass da über Cookies geht. Ich hab noch nie mit den Dingern gearbeitet (Sind mir suspekt).
Mir auch ;-)
Aber Du kannst ruhig auf den Fallback vertrauen.
(Sofern er ueberhaupt eingeschaltet ist.)
Entweder werden Cookies akzeptiert, dann wird
die Session-ID (und nur die) im Cookie gespeichert,
oder eben nicht, dann kommt der Fallback zum Einsatz,
und die Session-ID wird an Links und in Formulare
automatisch eingebaut.
Wie sicher sind Cookies gegen auslesen, wenn ich Variablen in der Session speichere (mit session_register())?? Werden diese Vars im Cookie oder auf dem Server gespeichert??
Nur die Session-ID wird vom Server an den Browser
(und wieder zurueck) weitergegeben.
Der Rest wird auf dem Server gespeichert in $_SESSION.
session_register() ist veraltet.
Lies endlich die entsprechenden Kapitel:
http://www.php.net/manual/de/ref.session.php
http://www.dclp-faq.de/ch/ch-version4_session.html
Gruesse,
Thomas
P.S. Warum machst Du immer zwei Fragezeichen?
Die Kinder-Krimi-Buchreihe heisst "die drei Fragezeichen".
Nach Duden reicht eines...