Anmelden, um zu folgen  
Folger 0
Gast

Probleme mit Sessions

6 Beiträge in diesem Thema

Hallo,

für die Künstler und Galeristen auf Artou steht ja ein geschützer Bereich zur Verfügung. Wenn ich alleine war, hat es auch richtig geklappt. Ich konnte mich anmelden und meine Daten ändern (er hat also eine Session-Datei auf dem Server erstellt). Nun haben sich bereits zwei neue angemeldet. Jetzt werde ich manchmal rausgeworfen, eine Künstlerin kommt gar nicht mal so weit.

1. Muss im Browser was aktiviert sein, damit Session richtig funktioniert?

Das Skript in vereinfachter Form:


// Session_start wird bei jeder Seite aufgerufen am Anfang
session_start();

// Session_register soll man nicht benutzen, deswegen diese Methode
$_SESSION["artou"] = "$passwort";

// Frage, ob in der Session "artou" was drinne ist
if(empty($_SESSION["artou"]))
{
echo "Session nicht gesetzt.";
}
else
{
echo "Session gesetzt.";
}


Frage: Woher weiß der Browser oder Server, welche Session-Datei verwendet werden soll? Kann hier der Fehler liegen, dass er es nicht weiß und einfach in irgendeine Session-Datei greift und damit ein anderer angemeldeter Künstler in einen anderen Account schlüpfen kann?

// In einer anderen Datei wird die Session gelöscht
if(!empty($_SESSION['artou']))
{
session_destroy();
}


Frage: Welche Session-Datei löscht der jetzt? Löscht der alle? Alle angemeldeten Künstler werden dann rausgeschmissen und müssen sich erneut anmelden?

Friedrich

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
hmm...

das mit session_destroy() würd mich auch noch interessieren.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Hallo

QUOTE
Frage: Woher weiß der Browser oder Server, welche Session-Datei verwendet werden soll? Kann hier der Fehler liegen, dass er es nicht weiß und einfach in irgendeine Session-Datei greift und damit ein anderer angemeldeter Künstler in einen anderen Account schlüpfen kann?

Mit session_start wird eine eindeutige SessionID generiert. Diese wird vom Server an den Browser übermittelt. Für die weiteren Anfragen an den Server wird vom Browser immer die SessionID mitgeliefert. Wichtig ist auch folgendes:
QUOTE
session_start() creates a session or resumes the current one based on the current session id that's being passed via a request, such as GET, POST, or a cookie.

(http://ch2.php.net/manual/en/function.session-start.php)

Ein anderer Künstler kann eben nicht auf eine Session des Kollegen zugreifen, weil er eine andere SessionID bekommen hat. (Er müsste sich schon das Cookie des Kollegen rüberkopieren....)

QUOTE
Frage: Welche Session-Datei löscht der jetzt?

session_destroy löscht die aktuelle Session. Und nur diese.


QUOTE
1. Muss im Browser was aktiviert sein, damit Session richtig funktioniert?

Bin nicht 100% sicher, aber Cookies sollten akzeptiert werden. Sonst musst du die SessionID bei jedem Link anhängen.

hmm...Fragen beantwortet, aber Problem nciht gelöst.....hoffe, es hilft trotzdem irgendwie weiter

Gruss
Roger

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Hallo Friedrich?

$_SESSION["artou"] = "$passwort";

Warum setzst du $passwort in Anführungszeichen?

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Es wird natürlich nur die Session des Benutzers gelöscht, der die Seite mit dem destroy-Befehl aufruft...
Lies doch mal in php.net ein bisschen nach zum Thema sessions. Dort ist alles sehr genau beschrieben wink.gif
Gruss
Kathrin

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Danke für die Tipps, jedoch wusste ich dies schon aus den Informationsseiten im Internet, nur glauben wollte ich dies nicht, da manchmal einfach so anscheinend die Sessiondatei gelöscht wird und ich mich dann wieder neu anmelden muss.

Friedrich

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Hallo,

das Problem besteht leider weiterhin. Wenn große Bilder übertragen werden, wird man danach aus dem Menü "geschmissen", da die Session-Datei nicht mehr existiert. Wird diese gelöscht, wenn große Datenmengen übertragen werden? Kann ich mir zwar so nicht vorstellen, aber was anderes fällt mir einfach nicht ein!

Friedrich

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstellen Sie einen Account oder melde Sie sich an um kommentieren zu können

You need to be a member in order to leave a comment

Create an account

Registrieren Sie einen neuen Account in unserer Community. Es ist einfach!


Register a new account

Anmelden

Haben Sie bereits einen Account? Dann melden Sie sich hier an.


Jetzt Anmelden
Anmelden, um zu folgen  
Folger 0