"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

php session problem

Umlüx 23.08.2005 - 14:38 779 12
Posts

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 8967
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
Bearbeitet von Umlüx am 01.09.2005, 14:25

malu

Big d00d
Avatar
Registered: Aug 2005
Location: vienna/ooe
Posts: 206
glaub das liegt daran dass du ein 2. mal das "session_start();
" aufrufst!

lass das mal weg!

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 8967
und wie nehm ich die session in einer anderen datei sonst wieder auf?

DJ_Cyberdance

Here to stay
Avatar
Registered: Jun 2002
Location: Vesterålen
Posts: 1838
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.
Bearbeitet von DJ_Cyberdance am 23.08.2005, 15:06

dio

Here to stay
Registered: Nov 2002
Location: Graz
Posts: 4884
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

Here to stay
Avatar
Registered: Jun 2002
Location: Vesterålen
Posts: 1838
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

Here to stay
Registered: Nov 2002
Location: Graz
Posts: 4884
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

Big d00d
Avatar
Registered: Aug 2005
Location: vienna/ooe
Posts: 206
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

Big d00d
Avatar
Registered: Aug 2005
Location: vienna/ooe
Posts: 206
*push* kann mir hier keiner weiterhelfen? kann meine mails nicht mehr abrufen! :(

dio

Here to stay
Registered: Nov 2002
Location: Graz
Posts: 4884
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

Big d00d
Avatar
Registered: Aug 2005
Location: vienna/ooe
Posts: 206
es ist der einzige mail account den ich von der arbeit aus verwenden kann!

malu

Big d00d
Avatar
Registered: Aug 2005
Location: vienna/ooe
Posts: 206
ok prob hat sich (von selbst?) gelöst!?

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Dein Problem hatte auch überhaupt nichts mit Coding zu tun - oder bist du für die Webmail-Seite von A1 verantwortlich...
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz