Beethoven Skrevet 29. mars 2005 Del Skrevet 29. mars 2005 Hei. Driver med dette logginn systemet mitt. http://www.pastebin.com/264273 På linje 41 så sjekker jeg om brukernavnet å sånt finnes og stemmer da. Men det gjør det ALDRI. Jeg fatter det ikke. Prøvde i hele går kveld til langt ut på natta. Og jeg vet at informasjonen er i databasen. Er det noe dumt jeg har gjort i koden? Ser du noe feil? Mvh Beethoven Lenke til kommentar
Loomy Skrevet 29. mars 2005 Del Skrevet 29. mars 2005 På linje 32: $getPassword = hash($brukernavn); ...skal det ikke være hash($passord)? Lenke til kommentar
Beethoven Skrevet 29. mars 2005 Forfatter Del Skrevet 29. mars 2005 Ja, der var det ihvertfall en feil. Men likevel, så er det fortsatt noe som ikke stemmer pga. jeg for den samma meldingen hele tiden. Lenke til kommentar
kimla Skrevet 29. mars 2005 Del Skrevet 29. mars 2005 Har erfart at hvis man kjører apache server i Windows så kan det bli litt ustabilt hvis du endrer mye på samme script. Det hjalp faktisk å slå av pc-en og la minnet hvile til det tømte seg. Da fungerte den normalt igjen. Men dette er jo ikke sikkert er tilfellet da, men kan jo prøve hvis ingenting fungerer Lenke til kommentar
Beethoven Skrevet 29. mars 2005 Forfatter Del Skrevet 29. mars 2005 Skal teste det etterpå . Lenke til kommentar
Beethoven Skrevet 29. mars 2005 Forfatter Del Skrevet 29. mars 2005 Nei, det gikk ikke. Dessverre . Lenke til kommentar
Torbjørn Skrevet 29. mars 2005 Del Skrevet 29. mars 2005 kan du paste skriptet ditt på nytt? Lenke til kommentar
Den normale mann Skrevet 29. mars 2005 Del Skrevet 29. mars 2005 Kan du ikke slette filen å legge den til på nytt? Lenke til kommentar
Beethoven Skrevet 29. mars 2005 Forfatter Del Skrevet 29. mars 2005 http://norskwebforum.no/pastebin/index.php?id=637 Lenke til kommentar
kakkle Skrevet 29. mars 2005 Del Skrevet 29. mars 2005 (endret) Ja, der var det ihvertfall en feil. Men likevel, så er det fortsatt noe som ikke stemmer pga. jeg for den samma meldingen hele tiden. Hvilken melding får du hele tiden ? Kjør alltid en or die etter en query, så kan du sjekke ting tang dersom spørringen går feil... $sql = "SELECT data FROM $table WHERE felt1 = '$felt1' ORDER BY $order"; $res = mysql_query($sql) or die("Feil i spørring: $sql<br>".mysql_error()); Dersom spørringen nå feiler, så får du skrevet ut spørringen, og kan sjekke at variablene ($table, $felt1, $order) er slik som forventet... Endret 29. mars 2005 av kakkle Lenke til kommentar
datapia Skrevet 29. mars 2005 Del Skrevet 29. mars 2005 Her er koden på slik jeg bruker å sjekke om brukernavn og passord stemmer: $sql= "select * from brukere where brukernavn=$brukernavn"; $query= mysql_query($sql, $db); $fraDB = mysql_fetch_array($query); //Sjekke om bruker fins i databasen if(!($getPassword == $fraDB['passord'])) { print("Feil brukernavn og passord."); exit(); } //if else { sette session osv... Jeg ser at du i linjen: 036: $query = mysql_query($sql); ikke har valgt hva slags database du skal hente data fra. Det må du gjøre. I tillegg er det lurt å foreta en sjekk om det faktisk ble hentet ut noen fra databasen. Det kan du gjøre noe slik som dette: f(!$query) { print("Kunne ikke hente ut fra database"); exit(); } //if En annen mulig løsning: Heter tabellen brukere eller Brukere? Er ikke sikker på om det er case sensitiv... Lenke til kommentar
Beethoven Skrevet 30. mars 2005 Forfatter Del Skrevet 30. mars 2005 Og, koden ser slik ut nå: http://norskwebforum.no/pastebin/index.php?id=642 Og jeg får denne meldingen nå: Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /usr/home/web/wno60274/user/logginn.php on line 37 Feil brukernavn og passord. Noen som skjønner den? Lenke til kommentar
kimla Skrevet 30. mars 2005 Del Skrevet 30. mars 2005 034: $sql= "select * from brukere where brukernavn=$brukernavn"; 035: $query= mysql_query($sql, $tilkobling); 036: 037: $fraDB = mysql_fetch_assoc($query); Jeg hadde hvertfall brukt denne (kommer litt ann på kodestilvalg da): $query = "select * from brukere where brukernavn=$brukernavn"; $result = mysql_query($query); $row = mysql_fetch_array($result); //Sjekke om bruker fins i databasen if($getPassword != $row['passord']) { print("Feil brukernavn og passord."); exit(); } Er jo egentlig samme koden om jeg ikke har gått glipp av noe viktig, noe jeg som oftest gjør, men jeg har hatt bedre erfaringer av å gjøre det på denne måten. Med mysql_fetch_array så pleier liksom ting å fungere Lenke til kommentar
Torbjørn Skrevet 30. mars 2005 Del Skrevet 30. mars 2005 mysql_fetch_assoc gjør akkurat samme nytten, la oss ikke bli overtroiske så tidlig på morgenen du fikk et meget bra tips av kakkle, prøv det, så får du forklart hva som faktisk går galt. Kjør alltid en or die etter en query, så kan du sjekke ting tang dersom spørringen går feil... $sql = "SELECT data FROM $table WHERE felt1 = '$felt1' ORDER BY $order"; $res = mysql_query($sql) or die("Feil i spørring: $sql<br>".mysql_error()); Lenke til kommentar
Beethoven Skrevet 30. mars 2005 Forfatter Del Skrevet 30. mars 2005 Okei, satt på die på det meste, hehe. Og jeg fikk nå noe ut av det: Feil i spørring: select * from brukere where brukernavn=dritt Unknown column 'dritt' in 'where clause' Den skjønte jeg ikke, eller skjønte den litt, men ikke problemet! Hehe. Lenke til kommentar
kimla Skrevet 30. mars 2005 Del Skrevet 30. mars 2005 bytte om på: brukernavn=$brukernavn til $brukernavn=brukernavn ? Virket litt som om det ble referert til kolonnenavnet med $_POST variabelen din. Eller, kanskje ikke, men hvis ingenting fungerer så prøv det Lenke til kommentar
Torbjørn Skrevet 30. mars 2005 Del Skrevet 30. mars 2005 (endret) um.. feilen hans er her at han ikke har fnutter rundt strengen ... where brukernavn='$brukernavn' EDIT: akkurat som php og samtlige andre programmeringsspråk, skal SQL ha fnutter rundt strengene, '' eller "" Endret 30. mars 2005 av Torbjørn Lenke til kommentar
Beethoven Skrevet 30. mars 2005 Forfatter Del Skrevet 30. mars 2005 Sånn ja! Da ordna det seg! TUSEN HJERTELIG TAKK alle sammen !!! Vel.. problemet som jeg så også i TILLEGG nå, var at når jeg registrerte meg så hashet jeg ikke passordet, det ble lagret som ren tekst. Dermed så når jeg skulle logge inn så hasha jeg, men da var det i databasen i ren tekst. Kjipt. Men nå har det ordnet seg. Danke . Lenke til kommentar
Torbjørn Skrevet 30. mars 2005 Del Skrevet 30. mars 2005 Håper du hashet passordene i databasen? Lenke til kommentar
kimla Skrevet 31. mars 2005 Del Skrevet 31. mars 2005 Sinnsykt dårlig jeg er til å se feil for tiden da!!! :!: Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå