php session problem

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php_session_problem_148048/page_1 - zur Vollversion wechseln!


Umlüx schrieb am 23.08.2005 um 14:38

ich glaub ich steh grad auf der leitung

hab ein login auf einer seite und setz die userdaten in eine session

session_start();
$_SESSION['abteilung'] = $data[2];
$_SESSION['username'] = $data[3];
$_SESSION['rechte'] = $data[4];
bla bla

aber sobald ich einen link anklicke sind die variablen weg. die sesssion ist leer :confused:

session_start();
echo "User: ".$_SESSION['username'];
-> kein username da..

woran kann das liegen?

EDIT: argh sorry.. weiss schon. bin heut echt a bissl deppat. natürlich muss session_start() vor die erste ausgabe.. zomg!
danke dennoch :D


malu schrieb am 23.08.2005 um 14:41

glaub das liegt daran dass du ein 2. mal das "session_start();
" aufrufst!

lass das mal weg!


Umlüx schrieb am 23.08.2005 um 14:59

und wie nehm ich die session in einer anderen datei sonst wieder auf?


DJ_Cyberdance schrieb am 23.08.2005 um 15:03

Also ich mach das so, daß ich am Beginn jedes .php Files ein
include ('./session.php');
stehen hab. In diesem File stehen dann die ganzen Session Vars drin:

session_start();
session_register('$abteilung');
session_register('$username');
session_register('$rechte');

Mit session_register mußt Du erst die Variablen registrieren.


dio schrieb am 23.08.2005 um 15:09

Zitat von malu
glaub das liegt daran dass du ein 2. mal das "session_start();
" aufrufst!

lass das mal weg!
Blödsinn, das 2. session_start() befindet sich in der Datei, in der er den Inhalt der Variable ausgeben will -> schon richtig so.

Zitat von DJ_Cyberdance
Also ich mach das so, daß ich am Beginn jedes .php Files ein
include ('./session.php');
stehen hab. In diesem File stehen dann die ganzen Session Vars drin:

session_start();
session_register('$abteilung');
session_register('$username');
session_register('$rechte');

Mit session_register mußt Du erst die Variablen registrieren.
session_register() kannst du dir sparen, wenn du mit der globalen Variable $_SESSION arbeitest, da du Werte einfach so zuweisen kannst:
Code: PHP
$_SESSION['testvar'] = "Ein toller Test";

hth

BTW: der Threadersteller hat das Problem bereits selbst gelöst ;).


DJ_Cyberdance schrieb am 24.08.2005 um 13:03

Zitat von dio
session_register() kannst du dir sparen, wenn du mit der globalen Variable $_SESSION arbeitest, da du Werte einfach so zuweisen kannst:
Code: PHP
$_SESSION['testvar'] = "Ein toller Test";
Hm, damit hatte ich allerdings auch genau das gleiche Problem, meine Lösung war dann session_register, dann hats funktioniert.

Zitat

BTW: der Threadersteller hat das Problem bereits selbst gelöst ;).

Wär nur interessant gewesen, wie... Falls wieder mal jemand (oder gar ich) ein ähnliches Problem hat...


dio schrieb am 24.08.2005 um 13:08

Zitat von DJ_Cyberdance
Hm, damit hatte ich allerdings auch genau das gleiche Problem, meine Lösung war dann session_register, dann hats funktioniert.



Wär nur interessant gewesen, wie... Falls wieder mal jemand (oder gar ich) ein ähnliches Problem hat...
PHP.net sagt dazu:
Zitat
Anmerkung: Bitte beachten Sie beim Arbeiten mit Sessions, dass der Datensatz einer Session nicht angelegt wird, bevor eine Variable mit der Funktion session_register() registriert oder dem superglobalen Array $_SESSION ein neuer Schlüssel hinzugefügt wird. Das gilt auch dann, wenn eine Session mit der Funktion session_start() gestartet wurde.
http://de.php.net/manual/de/ref.session.php

BTW wurde der 1. Post um die Lösung erweitert, siehe edit.


malu schrieb am 24.08.2005 um 13:11

hab ein ähnliches prob:

wenn ich mich auf http://organizer.a1.net einloggen will um meine mails zu checken, dann bekomm ich seid neuestem (vorher gings) die meldung dass mein session abgelaufen sei, und ich mich bitte neu einloggen solle...
aber wenn ich mich neu einlogge krieg ich wieder die selbe meldung! :S

denk das prob liegt an cookies... kanns aber leider nicht lösen!
kann mir jemand weiterhelfen?

thx mlu


malu schrieb am 24.08.2005 um 14:22

*push* kann mir hier keiner weiterhelfen? kann meine mails nicht mehr abrufen! :(


dio schrieb am 24.08.2005 um 15:06

Was genau hat das Session Problem von A1 mit diesem Thread zu tun? Schreib ne Mail an das A1 Team (wird wohl nicht dein einziger Mailaccount sein...).


malu schrieb am 24.08.2005 um 15:11

es ist der einzige mail account den ich von der arbeit aus verwenden kann!


malu schrieb am 24.08.2005 um 15:15

ok prob hat sich (von selbst?) gelöst!?


watchout schrieb am 25.08.2005 um 03:36

Dein Problem hatte auch überhaupt nichts mit Coding zu tun - oder bist du für die Webmail-Seite von A1 verantwortlich...




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026