WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Sessions! » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Sessions!
von subjective
session_register(), ruft intern session_start() auf, wenn dies noch nicht manuell geschehen ist.




---
Weaverslave
von Elliot
Muss ich wirklich session_start() aufrufen, wenn ich doch immer session_register() aufrufe. (Zumindestens solange es diese eine index-Datei betrifft.)

Wenn ich folgendes richtig interpretiere:

"session_register()
Eine oder mehrere Variablen zur Speicherung in die Session(datei) vormerken. session_register() impliziert ein session_start() . Das bedeutet, daß man session_start() in diesem Fall auch weglassen könnte. Bei den Parametern der session_register() Funktion handelt es sich nicht um die Variablen selbst, sondern um ihre Namen. Diese Parameter besitzen kein führendes " $ ". "
entnommen: http://www.koehntopp.de/php/version4_session.html#sessions-wie

dann bräuchte ich den session_start() doch nicht aufrufen, dann müsste session_register() doch reichen, oder?




---
Elliot - Das Schmunzelmonster
von subjective
Nicht wirklich, was wollt ihr mit dem Wissen anfangen. session_start() müßt ihr in beiden Fällen aufrufen. Die Daten in der Session sind zwar vertrauswürdiger als Formulardaten, bevor ich sie verarbeite, würde ich sie trotzdem prüfen.

Man könnte je nach Session-Handler die Datei suchen oder den Datensatz. Aber wie gesagt eigentlich ist der Wert unwichtig.

Thomas


---
Weaverslave
von Elliot
Hallo!

Das hört sich auf jeden Fall gut an! Dann kann ich session_register() ja ruhig immer aufrufen, was ja auch automatisch passiert, wenn ich nur über eine Datei arbeite.

Danke.

Gruß, Elliot

PS: Die andere Frage ist aber auch immernoch interessant, wie man überprüft, ob eine Session exxistiert.



---
Elliot - Das Schmunzelmonster
von m3rlin
Und wie überprüfe ich dann, ob die Session, die zur session_id gehört, noch valid ist?
von subjective
session_register trägt den entsprechenden Variablennamen in eine interne Liste ein - mehr nicht. Das geht extrem schnell. Dopplungen werden ignoriert (und nicht noch einmal eingetragen).

Mit session_id() kann man NICHT testen, ob eine Session existiert, sondern nur ob eine Session-ID an das Script übergeben wurde. Die zugehörige Session kann verfallen sein. Über session_id() kann die Session-ID auch vor dem Start der Session geändert werden.

Thomas
von m3rlin
session_id() ist auch ne Funktion und in eine if-Anweisung verpackt, erzeugt das ganze bestimmt genauso viel Systemlast wie session_register().

Ich denke einen Unterschied in der Ausführungsgeschwindigkeit wirst du erst bei sehr vielen zeitgleichen Zugriffen merken. Und erst dann lohnt es sich auch über Performance-Optimierungen nachzudenken.
von Waschbecken
ich bin kein meister in sachen php, aber grundsätzlich dürfte doch session_register() jedes mal aufs neue rechenleistung beanspruchen, ist schließlich ein prozess der ausgeführt werden muss.

und je umfangreicher das alles wird desto mehr drückt es natürlich auf den speed.
von Elliot
Danke!

Das Manual hatte ich vorher schon gelesen, hatte aber nicht realisiert, das man es mit der session_id() überprüfen kann.

Jetzt ist nur noch die Frage:
Lohnt es sich zu überprüfen, ob schon eine Session existiert oder ist es wirklich egal, ob man immer wieder session_register() aufruft. Ich meine jetzt hinsichtlich der Ausführungsgeschwindigkeit und des Speicherverbrauchs.



---
Elliot - Das Schmunzelmonster
von Waschbecken
ach ja: http://www.php.net/manual/de/ref.session.php
von Waschbecken
der begriff existiert so in asp respektive vbs auch nicht - sollte ja auch nur das prinzip verdeutlichen <IMG SRC="/phpBB/images/smiles/icon_wink.gif">
von m3rlin
session_register kannst Du so oft hintereinander aufrufen wie Du willst. Da passiert nix. Der Wert der Variablen bleibt erhalten.

Wenn Du überprüfen willst, ob bereits ein Session gestartet wurde, musst Du uberprüfen, ob ein SESSION-ID existiert.

Wenn dir session_id(); nen Wert zurückgibt, dann existiert eine Session, wenn nicht dann nicht.

von Elliot
Danke, aber den Befehl "session" gibt es so in PHP nicht, oder?


---
Elliot - Das Schmunzelmonster
von Waschbecken
ich kann nur mit symbolischen vbcode dienen, aber das prinzip sollte das gleiche sein

if session = false then
<fülle session>
end if
von Elliot
Hallo!

Meine Seite ist komplett über eine index-Datei aufgebaut.

In dieser steht als erstes:

session_start();
session_register ("a","b","b");

Beim zweiten Aufruf bräuchte er "session_register" ja eigentlich nicht mehr aufrufen.

Meine Fragen:
a) Ist es egal, ob er session_register zwei oder mehrmals aufruft.
b) Wie kann ich überprüfen, ob schon eine session gestartet wurde und dann nur session_start aufrufen?

Danke für die Hilfe.

Gruß, Elliot




---
Elliot - Das Schmunzelmonster

Nach oben