session nur über zwei seiten
olli
- php
0 martin0 olli0 dbenzhuser0 olli0 dbenzhuser0 olli
0 Sven Rautenberg
nabend,
woran liegt es das ich meine sessiondaten nur über zwei seiten nutzen kann? ich logg mich ein, komme auf eine interne seite, dort klicke ich irgendeinen link auf der seite an, komme eine seite weiter.
hier sind meine sessionid und die variable die immer mit übergeben werden muss noch da.
aber jetzt , also nach der zweiten seite sind die daten weg. also sie werden auf der seite noch angezeigt, habe das mal mit echo überprüft, aber sie landen nicht mehr im link, auch wenn ich mir einen link von dieser seite aus bastle funktioniert es nicht.
danke für tipps
session_start() gemacht ?
session_start() gemacht ?
ja
session_start() gemacht ?
ja
Auf jeder Seite?
dbenzhuser
session_start() gemacht ?
jaAuf jeder Seite?
ja
vielleicht ist auch meine denkrichtung falsch.
wie mache ich eine variable mit der die session quasi erzeugt wurde ( z.b. der benutzername) immer für jede unterseite verfügbar?
ich möchte ohne kekse arbeiten und übergebe sie per url
dazu habe ich jeden link so definiert
<?php echo "<a href='kontakt.php?sid=$session_id&benutzer=$usr'>Kontakt</a>";?>
und wie schon gesagt, über 2 seiten geht das
auf der dritten dann eben nicht..
danke
N'Obend!
<?php echo "<a href='kontakt.php?sid=$session_id&benutzer=$usr'>Kontakt</a>";?>
So, entweder weißt du noch nicht wirklich wie sessions funktionieren, ich habe dein Problem falsch verstanden, oder aber (gut möglich) ich selbst habs falsch verstanden.
Folgende Sachen sind einfach ausch meinem schlechten Gedächtniss rausgekramt, keine Garantie auf gar nix:
Du brauchst die session_id nicht per url weitergeben, das managed alles der Server für dich: Wird ein Cookie vom Benutzer abgelehnt, wird automatisch per URL weitergeleitet.
Wenn du den benutzernamen auf jeder Seite haben willst, musst du ihn für die Session-ID registrieren:
session_register(name);
Dann kann auf jeder folgenden Seite auf "name" zugegriffen werden, weitere Übergaben sind nicht nötig. Dein Link muss also im Endeffekt gar nicht für die Übergabe geändert werden,
<?php echo "<a href='kontakt.php'>Kontakt</a>";?>
ist schon genug.
(Auf jede Unterseite gehört wieder session_start();)
Ich hab mich allerdings schon einige Zeit nicht mehr mit Sessions befasst, ist sicher schon ein Jahr her... Probiers also einfach mal aus.
Falls ich an dir vorbeigeredet habe, konkretisier einfach was genau du erreichen willst.
dbenzhuser
das weiß ich. mir geht es hier darum noch einiges über sessions und deren handling zu erfahren. meine session variablen sind natürlich registriert. aber nicht mit session_register sondern mit $_Session
um auf den unterseiten auf die variablen zuzugreifen muss ich dies verwenden
$HTTP_SESSION_VARS[variable]
ich suche aber eine möglichkeit, die ursprungsvariable in jeder seite zu nutzen ohne ständiges neu erstellen.
danke
Moin!
aber jetzt , also nach der zweiten seite sind die daten weg. also sie werden auf der seite noch angezeigt, habe das mal mit echo überprüft, aber sie landen nicht mehr im link, auch wenn ich mir einen link von dieser seite aus bastle funktioniert es nicht.
Es wurde ein Cookie gesetzt, welches die SessionID enthält. Ein Cookie ist besser, als die URL-Variante, weil es nicht unbeabsichtigt in fremden Logfiles etc. auftaucht (Referrer, Copy&Paste des Links in Mails rein etc.)
- Sven Rautenberg