Her kan du få hjælp og stille spørgsmål til PHP!
-
Mathias - Nørd
- Indlæg:145
- Tilmeldt:5. apr 2012, 18:21
-
Kontakt:
fejl i login-script.php
Indlæg
af Mathias » 31. dec 2012, 14:48
Hej, jeg har et lille login script, men den siger at jeg har indtaste forkert info. Det kan bare ikke passe fordi jeg har indtastet rigtigt. Så der må være en fejl i login-script.php.
login-script.php
Kode: Vælg alt
<?php session_start();
if(isset($_POST['loginadminpanel'])) {
include 'connect.php';
$username = $_POST['username'];
$password = $_POST['password'];
if(empty($username) || empty($password)) {
$error = 'vær sød at udfylde alle felterne';
}
else {
$username = strip_tags($username);
$password = strip_tags($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$password = md5($password);
$sql = mysql_query("SELECT * FROM users WHERE username = '$username' && password = '$password'");
$num_rows = mysql_num_rows($sql);
if($num_rows == 1) {
$rows = mysql_fetch_assoc($sql);
extract($rows);
$_SESSION['username'] = $name;
$_SESSION['level'] = $access_level;
if(isset($_SESSION['username'])) {
$update = mysql_query("UPDATE users SET last_log_time = now()") or die(mysql_error());
header("Location: index.php");
}
}
else {
echo 'ugyldige bruger info'; //her når den til (den her kommentar er har ikke rigtigt)
}
}
print_r($error);
}
?>
-
ThomasI
- Grundlægger
- Indlæg:1528
- Tilmeldt:28. dec 2010, 10:49
Indlæg
af ThomasI » 1. jan 2013, 18:44
Måske har det noget med case-sensitivitet at gøre... altså at du har et brugernavn stående med stort i din database, men du skriver det med småt?
-
Mathias - Nørd
- Indlæg:145
- Tilmeldt:5. apr 2012, 18:21
-
Kontakt:
Indlæg
af Mathias » 1. jan 2013, 19:53
Nej, jeg har prøvet at kopier brugernavnet fra databasen, og kodeord da jeg oprette det. Men kan måske være kodeordet, måske er det kun den der md5 der virker.
-
ThomasI
- Grundlægger
- Indlæg:1528
- Tilmeldt:28. dec 2010, 10:49
Indlæg
af ThomasI » 1. jan 2013, 20:32
Har du testet scriptet uden alle de her sikkerheds foranstaltninger såsom strip_tags, mysql_real_escape_string og md5 - altså kun med præcist det du skriver ind i formularen unden at behandle variablen på nogen måde?
-
Mathias - Nørd
- Indlæg:145
- Tilmeldt:5. apr 2012, 18:21
-
Kontakt:
Indlæg
af Mathias » 1. jan 2013, 20:41
Nej, men prøver nu.
-
ThomasI
- Grundlægger
- Indlæg:1528
- Tilmeldt:28. dec 2010, 10:49
Indlæg
af ThomasI » 3. jan 2013, 16:06
Prøv at ændre '$username' til $username og det samme for $password...
Har du også prøvet skrive dit brugernavn og password direkte ind i scriptet i stedet for at få det fra en formular... bare for at se om det så virker... hvis det virker er det ikke dit script der er noget galt med men istedet dine variabler og måske forumlar...