webForumDet fria alternativet

Case sensitive inloggning?

2 svar · 269 visningar · startad av Proton

ProtonMedlem sedan okt. 2000242 inlägg
#1

Hej,

Jag sitter med en lite webshop, övning i en kurs. Jag har fixat så att man kan logga in, problemet är att det inte spelar någon roll om jag skriver JohNNY eller johnny som användarnamn. Hur tvingar man att använda exakt det som står i databasen? Nedan ser ni hur jag gjort i dagsläget....

<?php
function kolla_admininloggning() {
    
    $link=openDB();

$username = $_POST['user'];
$password = $_POST['pass'];
   
$result = queryDB("SELECT Username, Password FROM admins WHERE Username='$username' AND password='$password'", $link);
	if(!($user=mysql_fetch_array($result))) {
		echo "<SCRIPT language=\"JavaScript\">\n";
	    echo "alert (\"Tyvärr, felaktigt användarnamn eller lösenord, prova igen?\")\n";
		echo "history.go(-1)";
	    echo "</SCRIPT>\n";	
	} else {
		$_SESSION['inloggning'][$id]["inloggad"]="admin";
	   }
  closeDB($link);   			
}
?>

Hälsningar
Johnny

BrimbaMedlem sedan dec. 19995 875 inlägg
#2
<?php
function kolla_admininloggning() {
    
    $link=openDB();

    $username = $_POST['user'];
    $password = $_POST['pass'];
   
    $result = queryDB("SELECT Username, Password FROM admins WHERE Username='$username' AND password='$password'", $link);
    $row=mysql_fetch_array($result)
    if(strcasecmp($row['Username'],$username)!=0) {
        echo "<SCRIPT language=\"JavaScript\">\n";
        echo "alert (\"Tyvärr, felaktigt användarnamn eller lösenord, prova igen?\")\n";
        echo "history.go(-1)";
        echo "</SCRIPT>\n";    
    } else {
        $_SESSION['inloggning'][$id]["inloggad"]="admin";
    }
    closeDB($link);               
}
?>
ProtonMedlem sedan okt. 2000242 inlägg
#3

Hej,

Brimba, du ledde mig verkligen in på rätt spår... dock så funkade inte din kod riktigt, är inte helt hundra på varför. På php.net så verkar det dock mest som om man med

strcasecmp

jämför strängarna tecken för tecken och struntar i om de är "stora" eller "små". Men men.... jag gjorde så här istället....

<?php
function kolla_admininloggning() {
    
    $link=openDB();

    $username = $_POST['user'];
    $password = $_POST['pass'];
   
    $result = queryDB("SELECT Username, Password FROM admins WHERE Username='$username' AND password='$password'", $link);
    $row=mysql_fetch_array($result);
    if(strcmp($username,$row['Username'])!=0) {
	    echo "<SCRIPT language=\"JavaScript\">\n";
        echo "alert (\"Tyvärr, felaktigt användarnamn eller lösenord, prova igen?\")\n";
        echo "history.go(-1)";
        echo "</SCRIPT>\n";
    } else {
        $_SESSION['inloggning'][$id]["inloggad"]="admin";
    }
    closeDB($link);               
}
?>

Det gjorde susen, du ledde mig iaf definititivt in på rätt väg, det tackar jag för!

Hälsningar
Johnny

128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)