Avatar billede jonatand Nybegynder
10. marts 2002 - 19:15 Der er 27 kommentarer og
1 løsning

Fejl! - PHP

<?
include("forbindelse");
$query = mysql_query("select * from bruger where brugernavn='$brugernavn' && password='$password');
$antal = mysql_num_rows($query);

if(mysql_num_rows($query)==0)
{ echo "Fejl i brugernavn eller password"; }
else {
echo"Du er er inde"; }
?>

Fejlen?
Avatar billede pbudk Nybegynder
10. marts 2002 - 19:17 #1
jeg tror det skal være
"select * from bruger where brugerselect * from bruger where brugernavn='$brugernavn' and password='$password'"

eller mangler du bare en "  ?
Avatar billede ztyxx Nybegynder
10. marts 2002 - 19:18 #2
$query = mysql_query("select * from bruger where brugernavn='$brugernavn' && password='$password'); mangler en "
$query = mysql_query("select * from bruger where brugernavn='$brugernavn' && password='$password'");
Avatar billede ztyxx Nybegynder
10. marts 2002 - 19:19 #3
damn, skulle vist have refresh´et først :-)
Avatar billede pbudk Nybegynder
10. marts 2002 - 19:21 #4
ja man burde faktisk lige trykke udfør inden man begynder at taste så  man kan få en mail, hvis der er nogen der svarer inden man selv bliver færdig ;o)
Avatar billede ztyxx Nybegynder
10. marts 2002 - 19:23 #5
nå, men mon ikke det var løsningen vi kom med??
Avatar billede pbudk Nybegynder
10. marts 2002 - 19:25 #6
Hvis det er en tro kopi af hans kildekode - så må det næsten være det med " - men det kunne nu have været rart med en fejlmeddelelse.
Avatar billede ztyxx Nybegynder
10. marts 2002 - 19:34 #7
eller i det mindste en reaktion:-)
Avatar billede jonatand Nybegynder
10. marts 2002 - 19:57 #8
...
Avatar billede jonatand Nybegynder
10. marts 2002 - 19:57 #9
Skulle lige spise...
Avatar billede pbudk Nybegynder
10. marts 2002 - 19:58 #10
det skal der skam også være tid til ;o)
Avatar billede jonatand Nybegynder
10. marts 2002 - 19:59 #11
Okay, det virker! Hvordan får jeg så md5() på $password?

$query = mysql_query("select * from bruger where brugernavn='$brugernavn' && password='".md5($password)"'");

??
Avatar billede jonatand Nybegynder
10. marts 2002 - 20:01 #12
^^ Virker ikke!! ^^
Avatar billede pbudk Nybegynder
10. marts 2002 - 20:02 #13
jeg plejer at gøre sådan her:

$password = md5($password);
$query = mysql_query("... and password = '$password'");
Avatar billede jonatand Nybegynder
10. marts 2002 - 20:03 #14
Ja, men det virker ikke! Og jo, passwordet er krypteret...
Avatar billede jonatand Nybegynder
10. marts 2002 - 20:06 #15
Det virker hverken hvis jeg prøver at skrive det krypterede password, eller at skrive det rigtige password, når jeg benytter md5().

Altså hvis jeg prøver at skrive det krypterede password, skriver den password er forkert, så der sker et eller andet og det virker heller ikke hvis jeg skriver passwordet, som det var før kryptering.
Forstår du?
Avatar billede pbudk Nybegynder
10. marts 2002 - 20:06 #16
hvordan har du fået passwordet ind i databasen ?
Avatar billede jonatand Nybegynder
10. marts 2002 - 20:10 #17
Ved hjælp af en oprettelses form hvor jeg har tilføjet

$password = md5($password);
lige før det skrives ind i databasen. - Og det kommer til at stå som et krypteret password, jeg tror ikke det er dér fejlen er!
Avatar billede pbudk Nybegynder
10. marts 2002 - 20:10 #18
prøv lige den her:

$query = mysql_query("select * from bruger where brugernavn='$brugernavn' && password='".md5("$password")"'");
Avatar billede pbudk Nybegynder
10. marts 2002 - 20:11 #19
hvis ikke det virker så prøv at echo "$password" inden du krypterer og efter du har krypteret.

Hvis du så sammenligner med dit krypterede i databasen - så kan det være det er nemmere at gennemskue.
Avatar billede jonatand Nybegynder
10. marts 2002 - 20:13 #20
Okay, det vil jeg lige prøve, bliv lige hængende ved dette spørgsmål. :o)
Avatar billede jonatand Nybegynder
10. marts 2002 - 20:15 #21
Ahhh, jeg tror jeg har fundet fejlen. Jeg har lavet et maksimum på 15 ved oprettelse af password i mysqldatabasen, men md5 er jo længere.

Password: dd
Ind: ZGnf81XJv9eUk
Ud: 1aabac6d068eef6a7bad3fdf50a05cc8

Ser det ikke ud til at være det der er fejlen?
Avatar billede jonatand Nybegynder
10. marts 2002 - 20:17 #22
YES! Perfekt! Det var sq rart. Det problem har jeg rodet med i lang tid!
http://www.eksperten.dk/spm/181272

Mange tak for hjælpen!
Laver du lige et svar?
Avatar billede pbudk Nybegynder
10. marts 2002 - 20:19 #23
Det var da så lidt
Jeg er altid glad for at hjælpe. Så håber jeg også der er nogen der vil hjælpe mig engang i mellem.

Man kan jo nogen gange stirre sig blind på ting, som er helt indlysende for andre.
Avatar billede jonatand Nybegynder
10. marts 2002 - 20:27 #24
Nej, nu virker det ikke igen....
Damn... skal lige finde fejlen.
Avatar billede jonatand Nybegynder
10. marts 2002 - 20:30 #25
Sååååååååååådan. Jeg skulle bare lige flette det ind i mit eget script :o) Kom til at sætte en forkert variabel for password, jeg kalder $password for $pass og så havde jeg bare skrevet
$pass = md5($password); istedet for
$pass = md5($pass);

:o) Pyyha.
Endnu engang tak for hjælpen.
Avatar billede pbudk Nybegynder
10. marts 2002 - 20:32 #26
ok - det kan jo ske - det er også for dårligt, at php ikke selv kan finde ud af, hvad det er man vil ;o)
Avatar billede pbudk Nybegynder
10. marts 2002 - 20:38 #27
hov - jeg tror i øvrigt dit password felt skal være varchar(32) da md5 jo en et 32 bit krypteringværktøj
Avatar billede pbudk Nybegynder
10. marts 2002 - 20:40 #28
der skulle have stået:
da md5 jo er et 32 bit krypteringsværktøj
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