php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.09.2011, 20:43  
Erfahrener Benutzer
 
Benutzerbild von serious-cool
 
Registriert seit: 12.09.2008
Beiträge: 154
PHP-Kenntnisse:
Fortgeschritten
serious-cool befindet sich auf einem aufstrebenden Ast
Standard

Wenn der Login erfolgreich war setzt du die Session id in die Session ; )

PHP-Code:
$_SESSION['id'] = session_id(); 
Um zu Prüfen ob der Benutzter eingeloggt ist prüfst du ob die ID gesetzt wurde:
PHP-Code:
if(isset($_SESSION['id']))
{
echo 
"Eingelogt";
}
else
{
 echo
"Gast";

Das ist der Ansatz. Es ist nicht notwendig die Session Id irgendwo per POST / GET bekannt zu machen...
__________________
Ein Klauenhammer ist kein Schraubendreher, auch wenn beide das Problem ,,Schraube-Wand" bidirektional lösen können.

Geändert von serious-cool (25.09.2011 um 21:32 Uhr). Grund: das war kein Detusch ; )
serious-cool ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 26.09.2011, 09:03  
Caner
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von serious-cool Beitrag anzeigen
Wenn der Login erfolgreich war setzt du die Session id in die Session ; )

PHP-Code:
$_SESSION['id'] = session_id(); 
Um zu Prüfen ob der Benutzter eingeloggt ist prüfst du ob die ID gesetzt wurde:
PHP-Code:
if(isset($_SESSION['id']))
{
echo 
"Eingelogt";
}
else
{
 echo
"Gast";

Das ist der Ansatz. Es ist nicht notwendig die Session Id irgendwo per POST / GET bekannt zu machen...
Der erste code gilt dann für die erste seite(script1) und der 2 code für meine 2. seite(script2). Dann arbeite ich in beiden mit der selben session oder?

Weißt du auch zufällig wie ich die sid selbst bestimme?
  Mit Zitat antworten
Alt 26.09.2011, 09:17  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.234
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Schau ins Handbuch. Da steht es. session_id

Die Session-ID in die Session selbst zu speichern ist ziemlicher Unfug. Man braucht, wenn überhaupt, die Session-ID bevor man die Session selbst initialisiert hat. Und sobald man sie initialisiert hat, steht die Session-ID bereits fest und ist damit immer identisch zu dem, was mit session_id zurückkommt. Einen Mehrwert, sie nochmal in der Session selbst abzuspeichern, gibt es nicht. Um zu wissen, ob der Benutzer eingeloggt ist, genügt auch ein kleines Flag. Das ist auch nachvollziehbarer:
PHP-Code:
if ($_SESSION['flgIstEingeloggt']) .... 
Davon abgesehen: Wieso nochmal willst du die Session-ID manuell setzen?
Was du hier probierst, wenn ich dich recht verstehe, ist folgendes: Du willst Daten zwischen einem Seiten-Aufruf und einem zweiten Seiten-Aufruf hin und herschleusen. Und zwar nicht für den gleichen Besucher sondern für alle Besucher. Ein Chat hat es nunmahl so an sich, dass man diesen in mehreren Browserfenstern gleichzeitig sehen soll.
Du solltest das grundsätzlich nicht dadurch machen, dass du allen Usern die gleiche Session verpasst. Dann hast du 0 Chancen, deine User noch auseinanderzuhalten.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline   Mit Zitat antworten
Alt 26.09.2011, 17:36  
Caner
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von mepeisen Beitrag anzeigen
Schau ins Handbuch. Da steht es. session_id

Die Session-ID in die Session selbst zu speichern ist ziemlicher Unfug. Man braucht, wenn überhaupt, die Session-ID bevor man die Session selbst initialisiert hat. Und sobald man sie initialisiert hat, steht die Session-ID bereits fest und ist damit immer identisch zu dem, was mit session_id zurückkommt. Einen Mehrwert, sie nochmal in der Session selbst abzuspeichern, gibt es nicht. Um zu wissen, ob der Benutzer eingeloggt ist, genügt auch ein kleines Flag. Das ist auch nachvollziehbarer:
PHP-Code:
if ($_SESSION['flgIstEingeloggt']) .... 
Davon abgesehen: Wieso nochmal willst du die Session-ID manuell setzen?
Was du hier probierst, wenn ich dich recht verstehe, ist folgendes: Du willst Daten zwischen einem Seiten-Aufruf und einem zweiten Seiten-Aufruf hin und herschleusen. Und zwar nicht für den gleichen Besucher sondern für alle Besucher. Ein Chat hat es nunmahl so an sich, dass man diesen in mehreren Browserfenstern gleichzeitig sehen soll.
Du solltest das grundsätzlich nicht dadurch machen, dass du allen Usern die gleiche Session verpasst. Dann hast du 0 Chancen, deine User noch auseinanderzuhalten.
Wenn ich die sid manuell setzte, kann ich nach jedem login eine neue sid aufrufen die für jeden nutzer unterschiedlich ist. Vorteil: keine verwechslungen und ich kann vielleicht noch mehr zu jedem abspeichern.
Und das was du gesagt hast =D

K. das man eine sid in der session abspeichern kann die man haben will, dachte ich mir auch das es nicht geht. Dein code fragt aber auch nur ab, ob flgtisteingeloggt in der session enthalten ist oder nicht.

Was muss jetzt als code vor session_start schreiben, damit ich die sid selbst festlege und wie leite ich sie weiter.

Und wie greife ich auf meinem 2. script drauf zu, wobei hier die sid nicht mehr verändert wird.

Gruß Caner und danke schon mal bisher
  Mit Zitat antworten
Alt 26.09.2011, 21:35  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von serious-cool Beitrag anzeigen
Wenn der Login erfolgreich war setzt du die Session id in die Session ; )

PHP-Code:
$_SESSION['id'] = session_id(); 
Das ist der Ansatz. Es ist nicht notwendig die Session Id irgendwo per POST / GET bekannt zu machen...
Wenn du mir jetzt noch erklärst warum du die session_id(), die sowieso durch das session_start() schon da ist noch in eine $_SESSION Variable rein schreibst, wäre ich aus deinem Beispiel ein wenig schlauer.

Die session_id() braucht man so überhaupt nicht bekannt geben, maximal in einer DB oder Datei speichern zu irgendwelchen Kontrollzwecken, mehr aber auch nicht.

In die $_SESSION Variablen kommen andere Identifikationswerte rein, wie Username oder eine eindeutige ID aus einem Speichermedium.

Gruß Litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist gerade online   Mit Zitat antworten
Antwort


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
Array werte zusammen rechnen fabi288 PHP Einsteiger 13 03.01.2011 16:08
mehrdimensionales array inhalte tauschen pidaman PHP Tipps 2010 18 27.08.2010 16:58
[Erledigt] Sortierung mehrerer Arrays philosapiens PHP Tipps 2010 16 08.06.2010 05:22
IE8 verliert Session Lenki PHP-Fortgeschrittene 10 25.04.2010 01:10
PHPLot von der Datenbank zum mehrdimensionalen Array mannimammut PHP Tipps 2009 1 15.12.2009 10:40
[Erledigt] array sortieren PHP Tipps 2004 17 13.05.2009 10:44
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
Array wie auslesen? PHP Tipps 2005 7 07.03.2005 11:43
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25
bbcode - Classe PHP-Fortgeschrittene 4 18.09.2004 17:30


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:05 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