[PHP] Variable über zwei Seiten ohne POST und GET weitergeben

AMD-Hammer

Grand Admiral Special
Mitglied seit
05.10.2003
Beiträge
2.760
Renomée
123
Standort
Bornheim (Rheinland)
Hi... der Titel hört sich jetzt erstmal einfach an, aber irgendwie ist es, FÜR MICH, leider nicht ganz so einfach.

Folgende Situation:
Auf meiner Homepage lese ich mit "$my->id" die Benutzer-ID des momentan angemeldeten Users aus. Dies mache ich mit "SESSION", da ich die ID längere Zeit und über mehrere Seiten hinweg behalten will.
PHP:
$_SESSION['userid'] = $my->id;
Natürlich habe ich die session auch schon am Anfang gestartet gehabt
PHP:
<?php session_start();  ?>

Ich kann die Variable auch auf der ganzen Seite benutzen, aber nun zu meinem Problem. Ich will in einer Seite, die in einem anderen Verzeichnis liegt und in der ich die Variable auch benötige, diese auslesen und weiter verarbeiten. DAS PROBLEM? Er kann sie nicht auslesen! Sie scheint sobald ich den Ordner verlasse gelöscht zu sein?!?
PHP:
if (!isset($_SESSION['userid'])) {
	echo "Restricted access";
	exit();
	}
AUSGABE schrieb:
Restricted access

Dummerweise kann ich GET und POST nicht benutzen, da die Links über ein CMS System gehandelt werden und statisch sind!

Ich hoffe ihr habt mein Problem verstanden und könnt helfen...

Danke
 
Du mußt quasi auf jeder Seite wo du die Sessionvariablen auslesen möchtest vorher mit

PHP:
<?php session_start();  ?>

Die Session starten, nicht nur einmal.


Problem ist noch was mir gerade einfällt, wenn keine Cookies akzeptierst kann die Session ID nicht abgespeichert werden. Da du kein GET/POST verwenden kannst, kannst du die Session auch nicht über die URL rübernehmen .....
 
Zuletzt bearbeitet:
*gegen den kopf schlag*

NAAAATTTTÜÜÜÜÜRRRRRLLLLLIIIIICCCCHHHHH.... Danke manchmal sieht man den Wald vor lauter Bäumen net. *lol*
 
aber wenn du sie nicht per GET verschickst wird das ganze normalerweise in cookies gespeichert, also immer brav die cookies aktivieren ;)
 
Hi ich nochmal!

Ich habe es zwar hinbekommen die SESSION auf der anderen Seite auszulesen, aber dummerweise überschlagen sich dann die Fehlermeldungen, weil er schon eine session gestartet hat und der shop seine sessions nicht mehr starten kann.

Kann ich nicht vielleicht der Session einen namen geben und NUR diese starten? quasi so:
PHP:
<?php
start_session("ID")
?>

Nur wie vergebe ich dann den Namen der Session? und wie sage ich $_SESSION['ID'] gehört zu session("ID") ??

Vielleicht mach ich mir das ganze auch zu schwer, aber im moment stecke ich in einer Sackgasse!!:P
 
Also wenn dann:

PHP:
<?php

  session_start("ID");

?>

Bin mir aber nicht siche rob das klappt.
Jedoch wenn du sagst, er meckert das er shon ne session gestartet hat,
dann bekommste ja deine session_id und zwar so..

PHP:
  $session_id = session_id();

Dann kannste die session_id welche jetzt in der variable $session_id gespeichert ist, überall auf der seite verwenden musste nichts übergeben.

Also lediglich auf der seite wo du meinst das oben einfügen ^^

evtl. wenns nicht klappt ich hab dich im ICQ geaddet und geschrieben ^^
 
Diese Idee hatte ich ja Anfangs auch! Aber es kommt halt auf die Reihenfolge an! Da ich die Variable auslesen MUSS bevor der Rest der Seite geladen wird (wenn die Var. falsch ist kommt nämlich "exit();") geht das da leider noch nicht. Versteht ihr mein Problem?!?
 
Zurück
Oben Unten