Hej
Efter at være gået igang med at udskifte MySQL-API'et på min side med MySQLi har jeg indtil videre kun haft ganske få problemer. Men nu har jeg altså fundet et som jeg har en smule svært ved at genneskue.
For det første har jeg lavet selve scriptet til at hente brugeroplysningerne her:
- if ($stmt = $mysqli->prepare('SELECT `id`, `username`, `navn`, `virksomhed`, `usergroup` FROM `users` WHERE `username` = ? AND ´password´ = ?')) {
- /* Bind parametre */
- $stmt->bind_param('ss', $username, $password);
- /* Sæt værdier på parametrene */
- $username = $_POST['username'];
- $password = md5($_POST['password']);
- /* Eksekver forespørgslen */
- $stmt->execute();
- /* Bind resultatet */
- $stmt->bind_result($user_id, $brugernavn, $name, $virksomhed, $usergroup);
- $stmt->fetch();
- }
Så har jeg koblet et ekstra if/else-statement på, som skal tjekke om der overhovedet er fundet data:
- if ($user_id > 0)
- {
- //Hvis brugeren findes bliver de logget ind
- $_SESSION['loggedin'] = 1;
- $_SESSION['username'] = $brugernavn;
- $_SESSION['identifikation'] = $user_id;
-
- //Henter brugergruppe, brugerens rigtige navn, samt virksomhedens navn
- $_SESSION['usergroup'] = $usergroup;
- $_SESSION['navn'] = $name;
- $_SESSION['virksomhed'] = $virksomhed;
-
- //redirect til kundeside uden fejl
- header('Location: ../kunde.php');
- }
- else
- {
- //Redirect til index med fejl besked.
- $_SESSION['fail'] = "Du blev desværre ikke fundet i systemet. Kontroller brugernavn og password og prøv igen.";
- header('Location: ../index.php');
- }
I sidst nævnte kode for jeg fejlen fra else, altså værdien af $_SESSION['fail'].
Men forstår bare ikke hvorfor den ikke vil gøre som den skal. Jeg har tjekket at mit password er korrekt indtastet, men hvorfor det ikke virker, kan jeg ikke finde ud af.