Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak sprawdzic czy istnieje rekord?
Forum PHP.pl > Forum > Przedszkole
detter
Witam!
Mam taki problem:
Mam taki skrypcik logowania ktory polega na:
- wpisaniu loginu i hasla
- wybraniu z bazy rekordu w ktorym znajduje sie dany login
- sprawdzeniu czy w tym rekordzie pole adm_pass zgadza sie z podanym


Problem polega na wykonaniu jakiejs instrukcji w momecie gdy nie ma danego loginu w bazie..

oto kod:


  1. <?php
  2.  
  3. mysql_select_db("admins"); 
  4. $zapytanie = "SELECT * FROM admins WHERE adm_login='$login_admina' ";
  5. $dzialaj=mysql_query($zapytanie);
  6. while ($pole = mysql_fetch_row($dzialaj))
  7. {
  8. if ($pass_admina == $pole[2]) {
  9.  
  10.  
  11. print "<center><TT>Logowanie OK!</TT><br><BR>
  12. <a HREF=wejscie.php><font color=green><TT>dalej -></TT></FONT></A></CENTER>";
  13.  
  14. mysql_select_db("gvt"); 
  15. $zapytani = "INSERT INTO `logowania` ( `id_log` , `admin` , `data` , `godzina` , `ip` )
  16. VALUES (
  17. '', '$pole[1]', '$data_dzis', '$n', '$REMOTE_ADDR'
  18. )";
  19. $dziala=mysql_query($zapytani);
  20.  
  21.  
  22.  
  23.  
  24. }
  25. else {
  26. print "<center><TT>Błędne dane<br>wypierdku mamuta!</TT><BR><br>
  27. <a HREF=index.php><font color=#FE0000><TT>wstecz</TT></FONT></A></CENTER>";
  28.  
  29.  
  30. mysql_select_db("gvt"); 
  31. $zapytani = "INSERT INTO `logowania` ( `id_log` , `admin` , `data` , `godzina` , `ip` )
  32. VALUES (
  33. '', '<font color=red>$login_admina', '$data_dzis', '$n', '$REMOTE_ADDR </FONT>'
  34. )";
  35. $dziala=mysql_query($zapytani);
  36.  
  37.  
  38. }
  39.  
  40. };
  41.  
  42. ?>


aha, i przy kazdej operacji zapisywane sa dane do innej tabeli (cos w rodzaju logow:))
A chodzi mi o to, ze gdy ktos poda nie istniejacy login zeby to tez bylo zaznaczone w tabeli "logowania'...

Z gory dziekuje za pomoc!
spenalzo
Ehm.... to wywal to drugie zapytanie poza if'a rolleyes.gif
crash
Yyy, a nie prościej tak:
  1. <?php
  2. list( $userId ) = mysql_fetch_row( mysql_query( 'SELECT id FROM admins WHERE adm_login = "' . $loginAdmina . '" AND adm_pass = "' . $passAdmina . '"' ) );
  3.  
  4. if( $userId > 0 )
  5. {
  6.    echo 'Zalogowany';
  7. }
  8. else
  9. {
  10.    echo 'Błąd logowania...';
  11. }
  12. ?>


Przenoszę MySQL -> php Początkujący
Snoopy
mozna jeszcze tak
  1. <?php
  2. $logres = mysql_num_rows(mysql_query("SELECT * FROM users WHERE name='$nick' and pass='$haslo'"));
  3. if ($logres <= 0) {
  4. print "blad zalogowania";
  5. } 
  6. ?>
detter
no zasadniczo to faktycznie duuuzo prosciej! smile.gif

Ale robie to dla klienta i musi on widziec ze caly skrypt jest dluuugi i zagmatfany biggrin.gif

Ale udalo mi sie to rozwiazac w ten sposob: laugh.gif

  1. <?php
  2.  
  3. $wpisano = 'nie';
  4.  
  5.  
  6.  
  7. mysql_select_db("admins"); 
  8. $zapytanie = "SELECT * FROM admins WHERE adm_login='$login_admina' ";
  9. $dzialaj=mysql_query($zapytanie);
  10. while ($pole = mysql_fetch_row($dzialaj))
  11. {
  12. if ($pass_admina == $pole[2]) {
  13.  
  14. $wpisano = 'tak';
  15.  
  16. $_SESSION['auth'] = 'yes';
  17. $_SESSION['adm_id'] = $pole[0];
  18. $_SESSION['adm_login'] = $pole[1];
  19. $_SESSION['adm_pass'] = $pole[2];
  20. $_SESSION['adm_imie'] = $pole[3];
  21. print "<center><TT>Logowanie OK!</TT><br><BR>
  22. <a HREF=wejscie.php><font color=green><TT>dalej -></TT></FONT></A></CENTER>";
  23.  
  24. mysql_select_db("gvt"); 
  25. $zapytani = "INSERT INTO `logowania` ( `id_log` , `admin` , `data` , `godzina` , `ip` )
  26. VALUES (
  27. '', '$pole[1]', '$data_dzis', '$n', '$REMOTE_ADDR'
  28. )";
  29. $dziala=mysql_query($zapytani);
  30.  
  31.  
  32.  
  33.  
  34. }
  35. else {
  36. print "<center><TT>Błędne dane<br>wypierdku mamuta!</TT><BR><br>
  37. <a HREF=index.php><font color=#FE0000><TT>wstecz</TT></FONT></A></CENTER>";
  38.  
  39. $wpisano = 'tak';
  40.  
  41. mysql_select_db("gvt"); 
  42. $zapytani = "INSERT INTO `logowania` ( `id_log` , `admin` , `data` , `godzina` , `ip` )
  43. VALUES (
  44. '', '<font color=red>$login_admina', '$data_dzis', '$n', '$REMOTE_ADDR </FONT>'
  45. )";
  46. $dziala=mysql_query($zapytani);
  47.  
  48.  
  49. }
  50.  
  51. };
  52.  
  53.  
  54. if ($wpisano == 'nie') {
  55.  
  56. echo "<center><TT>Błędne dane<br>wypierdku mamuta!</TT><BR><br>
  57. <a HREF=index.php><font color=#FE0000><TT>wstecz</TT></FONT></A></CENTER>";
  58.  
  59.  
  60. $zapytani = "INSERT INTO `logowania` ( `id_log` , `admin` , `data` , `godzina` , `ip` )
  61. VALUES (
  62. '', '<font color=red>$login_admina', '$data_dzis', '$n', '$REMOTE_ADDR </FONT>'
  63. )";
  64. $dziala=mysql_query($zapytani);
  65.  
  66. }
  67.  
  68.  
  69.  
  70. ?>




Czyli dodalem jeszcze jedna zmienna, $wpisano ktora 'steruje' wykonywaniem skryptu.

Teradz dziala to tak:

jesli ktos wpisze poprawne dane, tworzy sie sesja i ma mozliwosc przejscia dalej,

jesli ktos pomyli sie w hasle, nie zostaje zalogowany, a jego proba logowania zostaje
zaznaczona w tabeli ;logowania;,

a jesli ktos poda nieprawidlowy login: jego proba logowania rowniez zostanie zaznaczona w tabneli 'logowania' biggrin.gif

ps; Jeszcze raz dzieki za wskazowki!! biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.