webForumDet fria alternativet

Logga in..

Databaser & SQL

4 svar · 229 visningar · startad av Simpa

Medlem sedan aug. 20002 992 inlägg
Frågan#1

Om jag har två fält i tabellen, anv och losenord..
och tex, vill kolla om två variabler finns med i tabllen,
alltså första kolla om tex $användarnamnet finns i "anv"
sen kolla om $losenord stämmer överens med "losenord"..

Hmm jag krånglar till det lite, men vill altså kolla anv och pass från login.htm mot en databas :)

Hur? :q

Medlem sedan dec. 200012 464 inlägg
#2
$q = "select 1 from users where anv = '" . $_POST["anv"] . "'" .
" and losenord = '" . $_POST["losenord"] . "'";
$c = mysql_query($q) or die(mysql_error());
if  (mysql_fetch_array($c)) {
// det stämmer
}
Medlem sedan aug. 20002 992 inlägg
#3

Tack LarsG, funkade fin fint, men har du lust att förklara..
$c = mysql_query($q) or die(mysql_error());
if (mysql_fetch_array($c)) {

Lite.. Hur kan jag tex skriva ut ett felmedelande om det inte funkar, och skriva ut något om det funkar? :)

Förstår inte riktigt vad if satsen gör :)

Medlem sedan aug. 20021 752 inlägg
#4

Ingen PHP expert men jag tror

$c = mysql_query($q) or die(mysql_error());

"Ställer" SQL frågan till MySQL databasen som du har öppnat, om det blir något fel så "dör" funktionen och antagligen skriver den ut ett felmedelande med "mysql_error()".

if  (mysql_fetch_array($c))

Hämtar ut resultatet från $c (som innehåller resultatet från SQL frågan) om det inte finns något resultat så fanns det ingen användare med det namnet och det lösenordet. Om det finns det så går den in i if satsen, om inte så får du skriva en else och ett felmedelande där.

/Viktor

Medlem sedan feb. 20012 412 inlägg
#5

Det är ju inte så kul att se mysql error meddelande om inloggningen misslyckas. Du kan också göra så här:


   $sql = "select 1 from users where anv = '" . $_POST["anv"] . "'" .
" and losenord = '" . $_POST["losenord"] . "'";

   $Result = mysql_query( $sql )
      or die( mysql_error() );

   if ( mysql_num_rows( $Result ) < 1 )  {

      print ("<p>Inloggning misslyckades</p>");	 

   }

   else {

      $data = mysql_fetch_array($Result);

    // skriv ut något om man så önskar

   }
250 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)