Hi Leute!
Ich steh jetzt schon seit Stunden vor einem schier unlösbaren und gewaltig komisch kuriosen Problem:
Also ich hab vor auf meiner Homepage Nickpages anzubieten! Das ist auch nicht schwer! Man kann auf 2 Arten ins "NP-Netzwerk":
1. unangemeldet über eine Art Subdomain
oder
2. über das Login der Hauptseite, (also angemeldet).
1. funktioniert bereits beinahe Einwandsfrei, aber bei 2. hauts mir ein Problem rein, welches garnicht sein dürfte und zwar wird die User-ID die per Session übergeben wird verändert. Um das ganze etwas näher zu erläutern:
Auf einer Nickpage ist ein Gästebuch wie ihr ja alle wisst, und neben eines Eintrags erscheint auch der Name des Autors. Soweit so gut, ich geh jetzt also auf meine Hauptseite und melde mich an. Danach klicke ich auf den Link der mich zur NP weiterleitet. Mit der URL gebe ich selbstverständlich auch die Session-ID mit. Zur vollständigkeit übergebe ich auch noch den Wert 'userid'. Wenn man nun auf einen Autor klickt auf seiner Nickpage, wird man zur Nickpage des Autors weitergeleitet und siehe da, der ID-Wert in der Session wurde geändert und zwar auf die ID des users der aktuellen NP. Dabei benutze ich nur in einem kleinen Bereich (siehe Quellcode unten) das $_SESSION-Array. Auch session_register(); benutze ich nicht. Und keines der beiden benutze ich in irgendeiner Funktion oder dergleichen.
Das ist die Codestelle, wo ich mit dem $_SESSION-Array arbeite.
Bitte Helft mir,
Hier sind noch 3 Bilder für besseres Verständnis:
Nach der Anmeldung: Situation case1 (siehe Variable $case im Code) ist der Fall. Wie es sein sollte hier stimmt auch die ID in der session (ausgelesen mit $_SESSION['ID_u']):
Bild1 - Nickpage anfang
Klicke ich dann unten auf testuser1 werde ich auf dessen NP weitergeleitet. Hier ist case2 der Fall (so wie es sein sollte) ABER die ID ist plötzlich die von testuser1. Es ist ganz die selbe Seite nur mit anderem Design:
Bild2 - Weiterleitung zum Autor
Wenn ich dann auf meinen Namen unten klicke werde ich wieder auf meine NP weitergeleitet. Die ID in der Session hat sich wieder geändert. auf 2. Nun ist aber komischerweise case2 der Fall obwohl userid und ID in der Session gleich sind:
Bild3 - Zurück auf eigene NP
ICH WEISS WIRKLICH NICHTMEHR WEITER! BITTE HELFT MIR!
Ich steh jetzt schon seit Stunden vor einem schier unlösbaren und gewaltig komisch kuriosen Problem:
Also ich hab vor auf meiner Homepage Nickpages anzubieten! Das ist auch nicht schwer! Man kann auf 2 Arten ins "NP-Netzwerk":
1. unangemeldet über eine Art Subdomain
oder
2. über das Login der Hauptseite, (also angemeldet).
1. funktioniert bereits beinahe Einwandsfrei, aber bei 2. hauts mir ein Problem rein, welches garnicht sein dürfte und zwar wird die User-ID die per Session übergeben wird verändert. Um das ganze etwas näher zu erläutern:
Auf einer Nickpage ist ein Gästebuch wie ihr ja alle wisst, und neben eines Eintrags erscheint auch der Name des Autors. Soweit so gut, ich geh jetzt also auf meine Hauptseite und melde mich an. Danach klicke ich auf den Link der mich zur NP weiterleitet. Mit der URL gebe ich selbstverständlich auch die Session-ID mit. Zur vollständigkeit übergebe ich auch noch den Wert 'userid'. Wenn man nun auf einen Autor klickt auf seiner Nickpage, wird man zur Nickpage des Autors weitergeleitet und siehe da, der ID-Wert in der Session wurde geändert und zwar auf die ID des users der aktuellen NP. Dabei benutze ich nur in einem kleinen Bereich (siehe Quellcode unten) das $_SESSION-Array. Auch session_register(); benutze ich nicht. Und keines der beiden benutze ich in irgendeiner Funktion oder dergleichen.
PHP:
if(isset($_GET['userid']) && isset($_SESSION['ID_u'])){
//sind beide gleich wird sie als usereigene np angezeigt (mit bearb.-link)
if($_GET['userid'] == $_SESSION['ID_u']){
$ID_u=$_SESSION['ID_u'];
$edit_np_link="bearbeiten";
$edit_delete="<a href=''>bearbeiten</a> | <a href=''>löschen</a>";
$case="case1";
}
//sind sie nicht gleich wir sie als userfremde np angezeigt
else{
$ID_u=$_GET['userid'];
$edit_np_link = NULL;
$edit_delete=" ";
$case="case2";
}
}
//ist NUR eine Userid über URL verfügbar wird die np als fremd-np angezeigt
elseif(isset($_GET['userid']) && !isset($_SESSION['ID_u'])){
$ID_u=$_GET['userid'];
$edit_np_link = NULL;
$edit_delete=" ";
$case="case3";
}
//ist NUR eine Session-Userid verfügbar wird die np als eigene np angezeigt
elseif(isset($_SESSION['ID_u']) && !isset($_GET['userid'])){
$ID_u=$_SESSION['ID_u'];
$edit_np_link="bearbeiten";
$edit_delete="<a href=''>bearbeiten</a> | <a href=''>löschen</a>";
$case="case4";
}
//ist keine Userid verfügbar wird die Fehlermeldung 101 ausgegeben
elseif(!isset($_GET['username'])){
echo '<b>Fehler 101:</b> Es ist ein Fehler aufgetreten. Melden Sie das bitte dem Webmaster.';
}
Das ist die Codestelle, wo ich mit dem $_SESSION-Array arbeite.
Bitte Helft mir,
Hier sind noch 3 Bilder für besseres Verständnis:
Nach der Anmeldung: Situation case1 (siehe Variable $case im Code) ist der Fall. Wie es sein sollte hier stimmt auch die ID in der session (ausgelesen mit $_SESSION['ID_u']):
Bild1 - Nickpage anfang
Klicke ich dann unten auf testuser1 werde ich auf dessen NP weitergeleitet. Hier ist case2 der Fall (so wie es sein sollte) ABER die ID ist plötzlich die von testuser1. Es ist ganz die selbe Seite nur mit anderem Design:
Bild2 - Weiterleitung zum Autor
Wenn ich dann auf meinen Namen unten klicke werde ich wieder auf meine NP weitergeleitet. Die ID in der Session hat sich wieder geändert. auf 2. Nun ist aber komischerweise case2 der Fall obwohl userid und ID in der Session gleich sind:
Bild3 - Zurück auf eigene NP
ICH WEISS WIRKLICH NICHTMEHR WEITER! BITTE HELFT MIR!