Jump to content
Sign in to follow this  
mio

Werte übergeben (GLOBAL)

Recommended Posts

Hallo,


ich habe in einer php-Datei einen Avriable $name. Jetzt möchte ich den Wert der Variable auf der nächsten Seite verwenden bzw.aus der Folgeseite auf die Variable zugreifen können. Ich möchte den Wert nicht in der URL übergeben.

Gibt es nicht eine Möglichkeit, die Variable an $GLOBALS zu übergeben?

Etwa so: $GLOBALS['name'] = $name; ???

Aber wie greife ich dann nach einem Link auf der verlinkten Seite darauf zu?

Share this post


Link to post
Share on other sites

einfach in ne session schreiben

$_SESSION['name']=$name;

aber zuvor solltest du session_start(); aufrufen, achtung, es darf vorher keine

ausgabe gesendet werden...

jetzt kannst du auf jeder seite... stession_start(); nicht vergessen

auf die $_SESSION['name '] zugreifen...


gruß raiserle

Share this post


Link to post
Share on other sites

Eine andere nicht so sichere möglichkeit wären auch Cookies...

und/oder immer per Formular weiter zu schicken.

Aber das beste im "sinne" währen wohl Sessions.

Obwohl es auch noch andere nicht so sinnvollere methoden gibt...

ne möglichkeit wär zb auch variable in txt datei schreiben,nächste seite wieder auslesen usw.

Aber sowas wird nicht wirklich gebraucht ;).

Share this post


Link to post
Share on other sites
Guest
Original von Heinzel

ne möglichkeit wär zb auch variable in txt datei schreiben,nächste seite wieder auslesen usw.

Aber sowas wird nicht wirklich gebraucht ;).


Das wäre Unsinn, weil man dann nicht nur eine Datei bräuchte, da auch mehrere User auf einer Seite gleichzeitig rumsurfen können. Man müsste also noch zusätzlich ein System entwickeln, womit man die Dateien einem bestimmten Benutzer zuordnet und das ist zu viel Overhead.

Sessions sind schon das Richtige dafür.

Share this post


Link to post
Share on other sites

nunja, das mit der datei würde auch schnell lösbar sein... indem man den

dateinamen=session_id() hat.... was aber irgendwie nicht so recht sinn ergibt....

is ja auch wurst... zum glück gibs session´s

Share this post


Link to post
Share on other sites
Original von Raiser

nunja, das mit der datei würde auch schnell lösbar sein... indem man den

dateinamen=session_id() hat....



Dann muss man aber auch dafür Sorge tragen, dass diese "temporären Textdateien" wieder automatisch gelöscht werden. Oder manuell per Wartungsfunktion oder noch manueller via FTP...


Hab da genau so ein Evilscript im Produktiveinsatz, von dem ich mich leider nicht so ohne weiteres trennen kann. Das legt nämlich für jede neue Session eine Textdatei an, egal ob da was reingeschrieben wird oder nicht. Bei meheren hundert Zugriffen pro Tag kommen da schon ne Menge Dateien zusammen die im schlimmsten Fall irgendwann mal den Webspace voll laufen lassen... :(

Share this post


Link to post
Share on other sites

naja, die sessions sind ja am ende auch datein.... laut -> session.save_path

sess_f0b10dcb8c0a0c8acf2facc681fd9043

die man auch manuell löschen muss. zumindest habe ich da noch nichts gefunden,

was das bei mir automatisch macht

Share this post


Link to post
Share on other sites
Original von Raiser

naja, die sessions sind ja am ende auch datein.... laut -> session.save_path

sess_f0b10dcb8c0a0c8acf2facc681fd9043

die man auch manuell löschen muss. zumindest habe ich da noch nichts gefunden,

was das bei mir automatisch macht



das macht php von selbst, da "darfst" du dich nicht drum kümmern!

Share this post


Link to post
Share on other sites

hmm... aber bei mir stehen, wenn ich das nicht irgendwann selber mal mache

tausende sess_ drin, die nicht mehr gültig sind

Share this post


Link to post
Share on other sites

Ich hab´s jetzt nicht speziell darauf hin nachgeschaut, aber in meinem Verzeichnis finden sich eigentlich nie mehr als vier oder fünf Dateien pro Arbeitssitzung. Also für jeden Browser (FF, Opera, IE) eine, und ein oder zwei für abgelaufene Sitzungen die aber auf kurz oder lang von alleine verschwinden.

Share this post


Link to post
Share on other sites

dann hast du eventuell was wirklich falsch konfiguriert.



Bei mir sind es zwar auch 2387 Files, aber auf dem Server!

Share this post


Link to post
Share on other sites

nunja..

es handelt sich ja um einen server

win2k server / apache 1.3.33 / php 4.3.10 / mysql 4.0.17


wobei ja php recht hat die session anzulegen, also müsste doch php auch das recht haben sie wieder zu löschen?

Share this post


Link to post
Share on other sites

Bei mir läufts auf nem Zweitrechner auf XPP mit Apache 2.x und PHP 5.0.5, wie zuvor schon beschrieben. Ich würde da auch bei Dir auf eine Fehlkonfiguration tippen, aber vielleicht läuft Dein Win2k ja vielleicht auch mit den faslchen Anwenderrechten, so das die Files nicht mehr gelöscht werden können (falls das überhaupt eine Mögliche Ursache ist).


Vielleicht hilft das weiter: http://de3.php.net/manual/de/ref.session.php

Share this post


Link to post
Share on other sites
Quelle: http://de3.php.net/manual/de/ref.session.php

Anmerkung: Falls Sie die standardmäßige dateibasierte Session-Prozedur verwenden, muss Ihr Dateisystem die Zugriffszeiten (atime) verfolgen. Windows FAT tut dies nicht. Sie müssen sich daher einen anderen Weg einfallen lassen, um die 'Müllentsorgung' Ihrer Session zu erledigen, wenn Sie an ein FAT-Dateisystem gebunden sind oder an irgendein anderes Dateisystem, das keine atime-Kontrolle bietet. Seit PHP 4.2.3 wird mtime (modified date) anstatt atime verwendet. Sie werden also keine Problem mit Dateisystemen haben, bei denen atime nicht zur Verfügung steht.



...hmmmm und was is mit ntfs? hab gegoogled aber nix passendes gefunden

Share this post


Link to post
Share on other sites
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...