Jump to content

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?

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

Link to post
Share on other sites
  • 3 weeks later...

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 ;).

Link to post
Share on other sites
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.

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... :(

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!

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.

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

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

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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.

×
×
  • Create New...