Hej, Jag håller på och designar ett väldigt enkelt loginskript till en sida. Nu har jag kommit till ett litet problem. Koden ser ut på följande sätt:
function login($username, $password) {
$sql = mysql_query("SELECT username, userpassword
FROM tblMember
WHERE username = '$username' AND userpassword = '$password'") or die (mysql_error());
if ($accessgranted = mysql_num_rows($sql) <> 0) {
echo "<font color='#FF0000'>Du är inloggad!</font><br><br>";
$_SESSION['username'] = $username;
echo "Sessionsnamn: ".$_SESSION['username']."<br><br>";
echo "Access: ".$accessgranted.".";
} else {
if($accessgranted = 0 and $_SESSION['username'] != "Gäst") {
echo "<font color='#FF0000'>Felaktiga inloggningsuppgifter!</font><br><br>";
}
}
userpermission($username, $accessgranted);
}
Jag har en funktion där jag skickar med variablerna username och password när en användare har fyllt i formuläret. Vidare kontrollerar jag så att det angivna lösenordet är rätt angivet för den användaren.
För att kontrollera om användaren är behörig använder jag mig av mysql_num_rows($sql) <> 0. Så länge den är skild från noll vet jag att jag har en träff. Därefter sätter jag de sessionsvariabler jag finner nödvändiga. Om nu användaren inte är behörig går vi till ELSE-satsen straxt där under. I ELSE-satsen har jag en ytterligare IF-sats som kontrollerar att $accessgranted = 0 och att $_SESSION['username'] != "Gäst"). Redan när man kommer till min sida, i detta fall nu login.php sätts en sessionsvariabel till Gäst och en annan till rätt "membershiplevelID" om denna användare nu inte skulle logga in eller vara registrerad för att få rätt behörighet på alla sidor.
Problemet nu är att jag inte får satsen "Felaktiga inloggningsuppgifter!" att skrivas ut när $accessgranted = 0 och $_SESSION['username'] != "Gäst"). Jag lyckas heller inte få raden echo "Access: ".$accessgranted."."; att skrivas ut så jag kan kontrollera värdet på den samma.
Jag hoppas det finns någon som kan se vad felet är??? För det gör inte jag. Övriga tips på vad som kan förbättras är självklart välkommet! :e