php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.02.2006, 21:27  
Neuer Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 23
Weyoun
Weyoun eine Nachricht über ICQ schicken
Standard Und noch ein Session Problem...

Hallo

1. Ja ich habe die Boardsuche benutzt.
2. Ja ich habe mir http://de.php.net/session durchgelesen.
3. Nein, ich habe keine Lösung für mein Problem gefunden.
4. Ja, vielleicht bin ich blind.

Also ... zu meinem Problem. Ich arbeite an einem Loginsystem für meine Seite. Das ganze funktioniert schon ganz gut. Ich habe eine Tabelle für Benutzer, in der in einer Spalte gespeichert wird, ob der Benutzer ein Admin ist, oder nicht. Wenn ich nun die Session Variable festlege, damit PHP später noch weiß ob ich ein Admin bin oder nicht, dann "vergisst" es den in der Variable gespeicherten Wert allerdings nach ein paar Klicks auf verschiedene Bereiche meiner Homepage.

Ich lege das ganze in der login.php so fest:

Code:
if($user[$i]['isadmin'] == 1){$_SESSION['isadmin'] = "yes";}
Nun wird auf der index.php die Variable wieder aufgerufen und somit festgestellt ob der Link zur Administration angezeigt werden soll, oder nicht:

Code:
if($_SESSION['isadmin'] == "yes"){$showadminlink = "

Administration";
Aber wie schon gesagt. Wenn ich ein wenig auf der Seite rumklicke, dann wird plötzlich der Link zur Administration nicht mehr angezeigt, und der Wert "yes" in der Variable ist futsch.

Edit: Die Session ID wird per Cookie weitergegeben.

Kann mir jemand dabei helfen?
__________________
Weyoun ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.02.2006, 21:30  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard

Steht auf jeder aufgerufenen Seite davor irgendwo session_start(); ?
__________________
Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit.
Mark Twain
Igäl ist offline  
Alt 27.02.2006, 21:32  
Neuer Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 23
Weyoun
Weyoun eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Igäl
Steht auf jeder aufgerufenen Seite davor irgendwo session_start(); ?
Ja, session_start() steht quasi überall, weil es als erstes in der index.php steht, und alle anderen Dateien per include ""; in die index.php eingefügt werden.
__________________
Weyoun ist offline  
Alt 27.02.2006, 21:38  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard

Vielleicht hilft es, wenn du die Variable im index.php ausgibst und dann beobachtest, wie sie sich verändert.
__________________
Das Recht auf Dummheit gehört zur Garantie der freien Entfaltung der Persönlichkeit.
Mark Twain
Igäl ist offline  
Alt 27.02.2006, 21:43  
Neuer Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 23
Weyoun
Weyoun eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Igäl
Vielleicht hilft es, wenn du die Variable im index.php ausgibst und dann beobachtest, wie sie sich verändert.
Danke, aber genau das habe ich schon gemacht. Ich bleibe weiterhin eingeloggt (das lasse ich mir per "Sie sind eingeloggt als [Benutzername]" anzeigen, aber diese Variable verliert ihren Wert.

Hat es vielleicht etwas damit zu tun, das ich trotz der Cookieübergabe, die SID an jede URL mit anhängen will? Das funktioniert meines Wissens nach jedoch nur mit der Konstanten "$PHPSESSID" wenn die Cookiesetzung standardmäßig aktiviert ist.

Deshalb hänge ich an jede URL einfach ein "&SID" an, was dann jedoch zur Folge hat, daß jede URL dann ungefähr so aussieht

Code:
http://www.beispiel.de/index.php?action=gaestebuch&
da die Konstante SID bei Cookieübergabe ja keinen Wert enthält. Sollte aber jemand Cookies deaktiviert haben, dann wird dahinter die Session ID angehängt.
__________________
Weyoun ist offline  
Alt 27.02.2006, 21:46  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Ist register_globals deaktiviert?
xabbuh ist offline  
Alt 27.02.2006, 21:47  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard

Ich habe Dinge mit der Session ID immer mit der Funktion session_id() gehandelt. Ansonsten hab ich wenig Erfahrung mit Cookies. Tut mir leid.

Vielleicht hilft das: http://de.php.net/manual/de/ref.session.php
Igäl ist offline  
Alt 27.02.2006, 21:53  
Neuer Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 23
Weyoun
Weyoun eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von xabbuh
Ist register_globals deaktiviert?
Also laut phpinfo() ist register_globals aktiviert. Das kann ich aber auch nicht deaktivieren, weil ich da bei meinem Provider (1&1) keinen Zugriff darauf habe. Oder doch?
__________________
Weyoun ist offline  
Alt 27.02.2006, 22:03  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Wenn register_globals aktiviert ist, wäre es möglich, dass die Sessionvariable mit einer Anweisung wie $isadmin = '' überschrieben wird.
xabbuh ist offline  
Alt 27.02.2006, 22:17  
Neuer Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 23
Weyoun
Weyoun eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von xabbuh
Wenn register_globals aktiviert ist, wäre es möglich, dass die Sessionvariable mit einer Anweisung wie $isadmin = '' überschrieben wird.
DANKE!!!

Ich hab' meinen Code nochmal durchsucht und in der benutzer.php, die eine Auflistung aller Benutzer anzeigt, wurde von mir ebenfalls eine Variable namens $isadmin benutzt. Und solange nur Admins registriert waren, war die auf 1. Kam jetzt ein anderer Benutzer hinzu, der kein Admin war, dann wurde der als letzterer Angezeigt, und schon war die Variable auf 0...

Oh Man. Also dann trifft doch Nummer 4 zu: Ich bin blind.
__________________
Weyoun ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Session Problem karina_02 PHP Tipps 2008 6 18.05.2008 22:37
Problem bei session Lifetime Cyberbob_at_tot PHP Tipps 2007 5 05.06.2007 17:47
Problem mit Session Charly Shop Sui PHP Tipps 2006 13 25.08.2006 17:08
Problem mit Firefox und Session PHP Tipps 2005-2 5 25.08.2005 01:14
problem mit session LA-Finest PHP Tipps 2005-2 13 18.08.2005 15:54
Session wieder aufnehmen; Problem mit GET Jacks Rache PHP-Fortgeschrittene 9 12.08.2005 14:32
[Erledigt] Problem mit Session PHP Tipps 2005-2 1 06.08.2005 19:07
Problem mit Session PHP Tipps 2005-2 13 10.07.2005 18:20
seltsames php und session problem netti PHP-Fortgeschrittene 16 01.06.2005 17:01
[Erledigt] Hilfe...PhpBB Session Problem!! PHP Tipps 2004-2 2 15.12.2004 18:28
Session Problem beim Login PHP Tipps 2004-2 6 15.12.2004 09:37
problem mit ner Session, es gehn Arrays verloren PHP-Fortgeschrittene 3 10.11.2004 18:01
[Erledigt] PHP Session Problem, dringend! PHP-Fortgeschrittene 17 21.10.2004 21:15
Session wird falsch wieder aufgenommen - Problem mit Session PHP Tipps 2004 2 16.10.2004 14:30
session problem PHP Tipps 2004 2 22.07.2004 08:39

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
session php andererbenutzer angemeldet, php session id 1und1 vergisst, odno-klasniki.ru/319750.html

Alle Zeitangaben in WEZ +1. Es ist jetzt 09:56 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.