Rubriken är lite småknäpp men det är inte så lätt att beskriva problemet så kortfattat. Jag håller på att skriva en funktion som ska kunna användas för att ge omdömen åt diverse saker på min site. (En "rate"-funktion.)
Och då inträffar följande....
Jag får upp min form och fyller i den (är inloggad som admin).
Skriptet laddar om och infon lagras.
Sedan laddar jag sidan en gång till, varvid innehållet i Rated skrivs ut med min nylagrade åsikt i:
user id date rate 1 1 2004-11-08 3
Eftersom jag ser tabellen måste $_SESSION["su"] vara admin. Hur i självaste Katrineholm kan det då lagras en 1:a i user-kolumnen???
Tabellen där dessa sparas innehåller bla:
user VARCHAR(20) NOT NULL,
FOREIGN KEY (user) REFERENCES Member (user),
Jag har förvisso ingen 1 i min Member.... (men däremot admin).
Funktionen innehåller bla
$user = $_SESSION["su"];
//Sätt $a-c
$q = "INSERT INTO Rated (user, id, date, rate)
VALUES ('$user', $a, '$b', $c)";
$res = mysql_query($q) or die("Rate: ".sorryDB());
if (mysql_affected_rows() != 1)
header("Location: message.php?mess=Something unexpected occured... Try again later.");
else header("Location: message.php?mess=Your rate has been stored. Thank you! :-)");
För ögonblicket anropas detta från samma fil och däri har jag en liten koll som säger att om filen körs av mig så ska innehållet i Rated skrivas ut. Dvs
if (/*form ifylld*/) rateCW(1); // funktionen ovan
else {
printCWRateForm(1, $_SERVER['PHP_SELF']); //Skriver ut formen
if (isLoggedIn() && ($_SESSION["su"] = 'admin'))
printRated(); //Skriver ut innehållet.
}