Gå til innhold

For ikke til å logge inn.


Anbefalte innlegg

Videoannonse
Annonse

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
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 av kakkle
Lenke til kommentar

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

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

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

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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...