Nu har jag ett intressant problem. Jag fattar som vanligt ingenting, men förhoppningsvis gör nån annan det.... :l
Jag har två filer som använder sessionsvariabler. Den ena login.php loggar in, den andra my.php kräver att man är inloggad. Själva inloggningen fungerar, så länge jag loggar in och ut och hoppar mellan dessa två filer rakt upp och ner är det grönt.
Men... om man anländer till my.php utan att vara inloggad så händer följande:
if (!isIn()) {
header("Location: login.php?go=cp");
}
Då hamnar man i login och URL:n är login.php?go=cp som den borde vara. Sedan loggar jag in, då körs en funktion i login som kollar att allt är OK, man finns i db:n osv, och sätter sessionsvariabler om allt är grönt, sedan kommer man till följande:
if (wasChosenGET("go", "cp")) header("Location: my.php");
else header("Location: message.php?mess=Successfully logged in!");
//där funktionen är
function wasChosenGET($name, $val) {
return (isSet($_GET["$name"]) && $_GET["$name"] == $val);
}
Som URL:n ser ut borde jag hamna i my tycker jag. Men det gör jag inte!!! Jag hamnar i message!?!?!? :q VARFÖR?
Däremot fungerar följande: om jag går till login med URL:n
login.php?go=out så blir jag utloggad - på följande kod:
if (isIn() && wasChosenGET("go", "out")) {
logout(); }