Avatar billede webmaster-patrick Nybegynder
08. juli 2006 - 15:20 Der er 15 kommentarer og
2 løsninger

Fejl i simpel login-chekker

Hej

Er der nogen, der kan se, hvorfor følgende kode ikke virker? Den echo'er "Fejl" lige meget hvad.

- - - - - - - - - - - - - - -
<?php

session_start();
mysql_connect("server", "brugernavn", "adgangskode");
mysql_select_db("database");

$username = $_POST['username'];
$password = md5($_POST['password']);

$query = "SELECT username, pwd_md5 FROM loginsystem WHERE username = '$username' AND password = '$password'";
$result = mysql_query($query) or die("MySQL fejl: ".mysql_error());
$log = mysql_fetch_array($result);

if($username == $log['username'] && $password == $log['password']) {
echo "OK";
}

else {
echo "Fejl";
}

?>
- - - - - - - - - - - - - - -

På forhånd tak
Avatar billede jaw Nybegynder
08. juli 2006 - 15:23 #1
Først og fremmest har du jo egentlig dobbeltkonfekt, disse 2:

WHERE username = '$username' AND password = '$password'";
og:
if($username == $log['username'] && $password == $log['password']) {

Skulle gerne gøre præcis det samme.

Har du prøvet at udskrive dine $username, $password, $log['username'] og $log['password'] og set om de indeholder det du tror de gør? For det gør de ikke!

Når feltnavnet hedder pwd_md5, så skal det også være $log['pwd_md5'].
Avatar billede webmaster-patrick Nybegynder
08. juli 2006 - 15:27 #2
Tak for svaret.

Så prøver jeg mig lige lidt frem. :)
Avatar billede webmaster-patrick Nybegynder
08. juli 2006 - 15:33 #3
Min mindre viden indenfor PHP har fundet ud af, at $log['username'] og $log['password'] ikke udskriver noget.

Du kan vel ikke skrive hele koden, som du tror, den skal skrives?
Avatar billede jaw Nybegynder
08. juli 2006 - 15:37 #4
Hvad hedder felterne i tabellen i databasen? username og password eller username og pwd_md5?
Avatar billede webmaster-patrick Nybegynder
08. juli 2006 - 15:39 #5
De hedder username og pwd_md5.
Avatar billede jaw Nybegynder
08. juli 2006 - 15:42 #6
Så skal dit udtræk i hvert fald være:

$query = "SELECT username, pwd_md5 FROM loginsystem WHERE username = '$username' AND pwd_md5 = '$password'";
Avatar billede webmaster-patrick Nybegynder
08. juli 2006 - 15:46 #7
Det virker. Juhuu. Kom med et svar.
Avatar billede jaw Nybegynder
08. juli 2006 - 15:47 #8
Godt, godt :)

Men du behøver nu ikke give 200 point, det er nok lidt meget, sammenlignet med hvad fejlen var.
Avatar billede webmaster-patrick Nybegynder
08. juli 2006 - 15:51 #9
Mange tak. :)

Hvordan er det da muligt at give færre points, nu når jeg allerede har valgt 200 points? Hvis du altså er sikker på ikke at vil have dem alle.
Avatar billede jaw Nybegynder
08. juli 2006 - 15:52 #10
Selv tak :)

Du kan et eller andet sted ændre mængden af point. Må indrømme, jeg ikke helt lige kan huske hvor.
Avatar billede jaw Nybegynder
08. juli 2006 - 15:54 #11
Ellers kan du selv lægge et svar og så acceptere begge, så deler vi.
Avatar billede webmaster-patrick Nybegynder
08. juli 2006 - 15:55 #12
Hvad nu hvis jeg selv kommer med et svar, og du også gør, så kan vi få 100 hver?
Avatar billede webmaster-patrick Nybegynder
08. juli 2006 - 15:56 #13
Jeg glemmer da også altid at trykke opdater inden jeg skriver..
Avatar billede webmaster-patrick Nybegynder
08. juli 2006 - 15:59 #14
Kommer du så med et svar mester?
Avatar billede jaw Nybegynder
08. juli 2006 - 16:00 #15
Oh hovsa, det troede jeg bestemt jeg havde gjort. Det er så det jeg altid glemmer :)
Avatar billede webmaster-patrick Nybegynder
08. juli 2006 - 16:03 #16
Hey, her kan jeg jo angive point fordelingen.

Hvor mange vil du have (jeg giver ikke under 100)?
Avatar billede jaw Nybegynder
08. juli 2006 - 16:05 #17
Lad os bare holde os til aftalen om 50/50 :) Takker...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester