Sessionprobleme

  • Themenstarter Themenstarter noctaru
  • Beginndatum Beginndatum
Also: Wenn Cookies akzeptiert werden wird der Session-Cookie mit hoechster Wahrscheinlichkeit eh gesetzt, solang dies nicht in der php.ini deaktiviert ist, was wohl im allerseltensten Fall so sein wird.
Wenn der User keine Cookies akzeptiert macht es wenig Sinn eine Moeglichkeit zum setzen eine Cookies anzubieten.
Dementsprechend meine Empfehlung: Lass vom Script erkennen ob Cookies akzeptiert werden.
Wenn ja kannst Du zum einen darauf verzichten die SessionID im URL zu uebergeben und zum anderen die Moeglichkeit zur "permanenten" Speicherung des gewaehlten Designs anzubieten.
Werden keine Cookies akzeptiert uebergibst Du die SessionID im URL und verzichtest darauf die Moeglichkeit zur Speicherung anzubieten.

Wie Du herausfinden kannst ob Cookies (und auch JavaScript ;) ) aktiviert sind kannst Du hier nachlesen.
 
Das ist ja nicht schlimm, wenn obwohl Cookies nicht aktiviert sind, eine Auswahl besteht. Oder? Ist ja eh nur eine Checkbox. Es geht mir ja eben viel mehr darum, die Einstellung zu übergeben. Jetzt ist mir gerade eine andere Idee eingefallen. Wie Sinnvoll wäre es, das ganze über eine getVariable zu übergeben? Dadurch gäbe es auch keine Komplikation mit Lesezeichen, da das dann eindeutig ist. Aber da habe ich momentan nicht wirklich eine Idee, wie ich das bewerkstelligen kann, dass mein Script weiß, ob er jetzt das Design, dass in der URL mitgegeben wird, oder das aus dem Cookie hernehmen soll.
 
Du kannst die cookies doch einfach weglassen und noch zusätzlich in einer session die ip des users, der die session gekriegt hat einfach speichern.
Dann prüfst du mit einer Abfrage, ob der User mit der offenen Session auch die selbe IP
hat wie der, der die Session gestartet hat.

ICh hoffe du verstehst was ich meine...
Somit brauchst du dann kein Cookie ;) und der Fall das jemand die selbe ip hat, wie der der gerade eingeloggt ist, ist ja bekanntlich unmöglich es sei denn die beiden sind on lan...
und dann spielt dies ja keine rolle da man demjenigen ja dann direkt eine geben könnte ;)

Mit diesem Befehlt kriegst du die ip eines users raus :
$_SERVER['REMOTE_ADDR']


Kleines Beispiel :
PHP:
        session_start();
        if(!isset($_SESSION['IP'])) {
            $_SESSION['IP'] = $_SERVER['REMOTE_ADDR'];
        }
        if($_SESSION['IP'] != $_SERVER['REMOTE_ADDR']) {
        //Fehlermeldung angeben
            die();
        }
    }
mfg

Roumeo
 
Zuletzt bearbeitet:
Das wäre eine ganz nette Sache, wenn sich nur nicht die IP Adresse ändern würde. Die Cookies sollen ja eben zum längerfristig speichert genutzt werden.

Also Cookies muss ich verwenden. Aber es muss doch irgend eine Möglichkeit geben, das so zu machen, wie ich oben erwähnt habe. Ich dachte mir halt zuerst, das ich am Anfang rausfinde, ob ein Cookie vorhanden ist. Wenn ja, wird der Inhalt in die Session geladen. Wenn nicht, kommt nichts und somit wird der default Style ausgewählt. Und dann würde halt eben, bei dem Script, mit dem man das ganze umstellen kann, in dem Fall, wenn der User zwar einen Cookie hat, aber ein anderes Design auswählt, dieses Design über eine Hintertür oder so Etwas in die Session geladen.
 
So, ich habe das ganze jetzt mal in die Zukunft gelegt und realesiere das ganze via Cookies. Wenn ein Besucher keine aktiviert hat, kommt er halt momentan nicht in den Genuss. Deshalb kommt der Threed jetzt mal auf Erledigt. Aber fals Jemand eine Lösung wüsste, ich würde mich auf eine Antwort drotzdem freuen. :)
 
Zurück