webForumDet fria alternativet

Logga in..

4 svar · 227 visningar · startad av Simpa

SimpaMedlem sedan aug. 20002 992 inlägg
#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

LarsGMedlem 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
}
SimpaMedlem 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 :)

ViktorMedlem 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

Jörgen HPMedlem 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

   }
139 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)