PHP - seitenübergreifende Variablen?

2 Antworten

Das kannst du mit Sessions machen. Diese sind so ähnlich wie Cookies, in denen du Variabeln speichern kannst.                                                             Um eine Session zu Starten benutzt du:

session_start();

Als nächstes speicherst du in die Session einen Wert:

$_SESSION['name'] = "wert";

Da wo name steht kommt der Name der Session rein und wo wert steht der Wert oder die Variabel.

Nun ist die Session gestzt, um Sie in einer anderen Datei zu öffnen und diese in eine Variabel zu speichern machst du folgendes:

session_start();

$variabel= $_SESSION['name'];

und so kannst du eine Session auslesen.

Quelle:

http://www.php-einfach.de/php-tutorial/php-sessions.php

Wenn ich deine zweite Frage richtig verstanden habe dann ändere doch einfach das Verweisziel im Link.

maximilianus7  14.10.2015, 20:50

@Robinson97

@1: das funktioniert so, aber dein wording ist ziemlich daneben (und verwirrend): man KANN der session einen namen geben, und zwar mit session_name(...) MUSS man aber nicht (hat was mit den cookies zu tun, führt hier aber zu weit).

mit session_start() wird aber das array $_SESSION verwaltet, d.h. dem aktuellen user wird der entsprechende inhalt von $_SESSION zugeordnet.  

'name' ist der index des arrays, kann aber auch numerisch oder ein anderes array (etc) sein.

"und so kannst du eine Session auslesen." - nein, du liest den WERT eines array-eintrags aus.

0
Robinson97  14.10.2015, 21:38

Vielleicht wollte ich es so einfach wie möglich erklären, da er meint, dass er keine Ahnung von PHP hat. So ist es leichter sich eine Session als eine Art Cookie vorzustellen.

0
KeinPlan047 
Fragesteller
 15.10.2015, 03:03
@Robinson97

nun ich kann etwas c#
noch eine frage: wie kann ich eine instanzübergreifende Variable(hier ein Array aus einer von mir erstellten Klasse) erzeugen ? Quasi eine art Datenbank ohne Datenbank(eine Datenbank ist für diesen Fall zu viel Aufwand)
ich möchte das diese Variable überall verfügbar und gleich ist, also egal auf welcher Seite, egal welcher Nutzer geht das ? Oder muss ich dafür die werte erst in ein *.txt Document schreiben und dieses dann wieder auslesen ?

0

zu 2:

also mit href='ist_verfügbar.php?sache=apfel' und enstprechend hast du EIN php-skript. die sache kannst du dort dann mit

$diesache=$_GET['sache'];

abfragen. im beispiel ist dann

$diesache == 'apfel'

KeinPlan047 
Fragesteller
 15.10.2015, 03:04

vllt kannst du oben nochmal bei meinem neueren Problem vorbei schauen
danke :)

0
maximilianus7  15.10.2015, 09:17
@KeinPlan047

genauso mit dem $_SESSION-array: du legst dort einen eintrag an, der dein datenbank-array repräsentiert (z.b. 'dbarri') und versorgst diese mit werten: 

$_SESSION['dbarri'][index] = wert;

oder liest diese aus:

wert = $_SESSION['dbarri'][index] = wert;


das mit der text-datei geht gar nicht: die verschiedene user würden die sich gegenseitig überschreiben.


0