SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 01.01.2007, 13:40:44
dödel dödel ist offline
Anfänger
 
Registriert seit: Jan 2007
Beiträge: 3
Verstehe etwas Grundlegendes zu Sessions nicht....

Hallo,

jetzt bastel ich mit PHP und Sessions doch schon ein paar scripts zusammen, die auch funktionieren.

Aber in meinem Hirn springt immernoch ein Fragezeichen durch die Synapsen.

Wenn nun 3 Leute gleichzeitig zB ein Mailsformular mit anschließender Vorschau (die dann mit Sessions verwaltet wird) ausfüllen - irgendwie habe ich Zweifel, daß der Server immer auf die richtige Session zugreift. Vielleicht zersteut mir jemand die Zweifel, indem er mir erläutert, WIE der Server weiß, welche Session er verwenden soll.

Gut, von der SID habe ich schon gelesen, auch wie man sie weitergibt.
Bei mir ist sie aber leer oder wird als SID übergeben, so als ob der Parser die Konstante nicht kennt und meint es sei ein normaler Text (weil ja auch kein $ davor ist).
PHP-Code:
session_start();
echo 
"<a href='seite2.php?SID'>weiter</a>"
Zeile im Browser: http://.../seite2.php?SID
aber nicht (wie gedacht) http://.../seite2.php?PHPSESSID=d1d2d3d4d56..

Am besten geht es noch mit form method="post" name="ID" value="session_id()"
(und dann $ID=$_POST["ID"]; ) - aber nicht immer habe ich ja ein Formular zu Verfügung...

Mit Cookies will ich jetzt erst garnicht anfangen, sonst muss ich den unbedarften Besucher noch lange erklären, wie er die Cookies in seinem Browser anstellen muss und daß das auch sicher ist uswusf...

Kann ich mit 1 Browser 2 Sessions für mich zum Test starten? Oder ist das vielleicht der Fehler, daß es mir so vorkommt, als ob da was durcheinander geht?

Irgendwie schwelt da bei mir die Verunsicherung, daß da beim gleichzeigen Zugriff auf den script irgendwie die Sessions durcheinander kommen könnten...

Wer hilft mir aus meiner Verwirrung?
Mit Zitat antworten
  #2  
Alt 01.01.2007, 13:45:04
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 74
Beiträge: 4.001
AW: Verstehe etwas Grundlegendes zu Sessions nicht....

Zitat:
Zitat von dödel Beitrag anzeigen
Gut, von der SID habe ich schon gelesen, auch wie man sie weitergibt.
Bei mir ist sie aber leer oder wird als SID übergeben, so als ob der Parser die Konstante nicht kennt und meint es sei ein normaler Text (weil ja auch kein $ davor ist).
PHP-Code:
session_start();
echo 
"<a href='seite2.php?SID'>weiter</a>"
Zeile im Browser: http://.../seite2.php?SID
aber nicht (wie gedacht) http://.../seite2.php?PHPSESSID=d1d2d3d4d56..
Das geht so nicht, weil es falsch ist. PHP parst innerhalb von "Gänsefuß-Strings" keine Konstanten.

PHP-Code:
session_start();
echo 
"<a href='seite2.php?" SID "'>weiter</a>"
Hinweis:
wenn der Client den Session Cookie angenommen hat, ist SID leer. Das ist ganz praktisch...
Mit Zitat antworten
  #3  
Alt 01.01.2007, 18:44:22
Benutzerbild von Swoosh
Swoosh Swoosh ist offline
Junior Member
 
Registriert seit: Oct 2006
Ort: Crailsheim / SHA / Stuttgart
Alter: 31
Beiträge: 388
Swoosh eine Nachricht über ICQ schicken Swoosh eine Nachricht über MSN schicken
AW: Verstehe etwas Grundlegendes zu Sessions nicht....

ich hab jetzt auch mal ne frage zu session mein login läuft über session, wenn ich jetzt aber will das wenn ich den browser schliess und ihn wieder öffne meine seite betrete das ich eingeloggt bleib dann muss ich doch

setcookie machen aber wie bring ich des dann wieder in die session

$_SESSION['id']

??? Danke, Swoosh
Mit Zitat antworten
  #4  
Alt 01.01.2007, 21:17:55
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Verstehe etwas Grundlegendes zu Sessions nicht....

Darum kümmert sich PHP selbst. Wenn session.use_cookies eingeschaltet ist, wird automatisch beim Aufruf von setcookie() eine Aufforderung an den Client gesendet, dieses Cookie zu nutzen und auch selbstständig geprüft, ob ein entsprechender Cookie vom Client gesendet wurde, dessen Inhalt als Sessionid genutzt werden soll.
Mit Zitat antworten
  #5  
Alt 01.01.2007, 22:07:24
Benutzerbild von Swoosh
Swoosh Swoosh ist offline
Junior Member
 
Registriert seit: Oct 2006
Ort: Crailsheim / SHA / Stuttgart
Alter: 31
Beiträge: 388
Swoosh eine Nachricht über ICQ schicken Swoosh eine Nachricht über MSN schicken
AW: Verstehe etwas Grundlegendes zu Sessions nicht....

äh also ist des so wenn ich jetzt nen cookie mach nehmen wir an

PHP-Code:
setcookie("id"$row['id']); 
dann kann ich später einfach mit

PHP-Code:
if(!isset($_SESSION['id'])) { // blabla... 
Überprüfen???

Danke, Swoosh

Geändert von Swoosh (01.01.2007 um 22:07:40 Uhr)
Mit Zitat antworten
  #6  
Alt 01.01.2007, 22:09:23
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Verstehe etwas Grundlegendes zu Sessions nicht....

Nein, es wird nur die ID der Session in einem Cookie abgelegt, damit PHP später weiß, welche der Cookie-Dateien vom Server für genau diesen Benutzer zuständig ist. In diesem Sessionfile befindet sich wiederum das serialisierte $_SESSION-Array für diese Sessionid.
Mit Zitat antworten
  #7  
Alt 02.01.2007, 01:34:41
dödel dödel ist offline
Anfänger
 
Registriert seit: Jan 2007
Beiträge: 3
AW: Verstehe etwas Grundlegendes zu Sessions nicht....

Hallo,

danke für die Beachtung meiner Sorgen, ich bin nun schon durch 10 Stunden lesen und rumprobieren weitergekommen.

Die Sessions werden im /tmp-Ordner von Php als Textdatei abgelegt und benannt nach der ID. Aber wann werden die wieder gelöscht? Macht das PHP automatisch irgendwann mal? Es kann ja sein, daß der Besucher einfach geht und meinen script mit session_destroy nicht besucht...?!?

Ganz schlimm ist es also, wenn der Client keine Cookies zuläßt und dann noch seine ID verliert. Dann ist die session verloren.

@meikel: Wenn die SID leer ist, hat der Client keine Cookies? Dann müßte das mein script irgendwie erkennen und in der URL die ID weitergeben, oder?
Mit Zitat antworten
  #8  
Alt 02.01.2007, 01:38:00
Benutzerbild von Swoosh
Swoosh Swoosh ist offline
Junior Member
 
Registriert seit: Oct 2006
Ort: Crailsheim / SHA / Stuttgart
Alter: 31
Beiträge: 388
Swoosh eine Nachricht über ICQ schicken Swoosh eine Nachricht über MSN schicken
AW: Verstehe etwas Grundlegendes zu Sessions nicht....

jop sessions also solche

PHP-Code:
$_SESSION['name'] = 'Horst'
Nach Schliessen des Browsers

und
PHP-Code:
sessionid(); 
Ich glaube 24 Stunden.
Mit Zitat antworten
  #9  
Alt 02.01.2007, 02:27:16
rambi
Guest
 
Beiträge: n/a
AW: Verstehe etwas Grundlegendes zu Sessions nicht....

Einfaches Kochrezept für den Umgang mit Sessions

Wenn irgend möglch mit den Standardeinstellungen arbeiten....!
(Man ist ja selten alleine auf dem Server)
Verzichte wenn möglich auf die SID in der Url. Und wenn nicht, dann überlass der eingebauten Automatik das dranhängen!!


Und Ja PHP räumt im allgemeinen selbst auf.
In der Standardeistellung lebt die Session noch mindestens 24 Minuten nach der letzten Aktion. Das Cookie hält, bis der Browser geschlossen wird ..

Wenn das Cookie ein Browserschließen überleben soll dann:
PHP-Code:
$lifetime 3600// 1 Stunde
ini_set('session.cookie_lifetime',$lifetime);
ini_set('session.gc_maxlifetime',$lifetime);
// und dann erst
session_start(); 


Man, und schau bitte selber ins Handbuch, es macht keinen Sinn dir das alles vorzulesen...
Handbuch: http://de2.php.net/manual/de/ref.session.php

Geändert von rambi (02.01.2007 um 02:32:39 Uhr)
Mit Zitat antworten
  #10  
Alt 03.01.2007, 03:08:59
dödel dödel ist offline
Anfänger
 
Registriert seit: Jan 2007
Beiträge: 3
AW: Verstehe etwas Grundlegendes zu Sessions nicht....

Danke, es funktioniert nun schon recht prima.
Ich hab mit von SelfPHP.de das Buch runtergeladen und lese darin viel - alles, was ich nicht finde, frag ich dann hier ;-)

Danke nochmals!
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Sessions chieftequila PHP Grundlagen 26 12.10.2006 17:40:22
grundlegendes Verständniss von Sessions wolles PHP Grundlagen 6 26.09.2004 19:22:18
Sessions - wie geht das? Zonk PHP Grundlagen 5 21.11.2003 18:09:48
Frage zu Sessions Voller17 PHP Grundlagen 1 31.03.2003 14:32:30
Sessions vs Originalkekse | Sicherheitsapsekte Odi PHP Grundlagen 6 29.01.2003 13:04:27


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:36:54 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.


© 2001-2023 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt