Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Niedziałająca funkcja zliczająca rekordy
Matt23
post
Post #1





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 19.01.2013

Ostrzeżenie: (0%)
-----


Witam, stworzyłem taką oto funkcję

  1. <?
  2. function ile_rekordow($tabela, $pole, $wartosc, $pole2 = 0, $wartosc2 = 0, $inne = 0){ //pobiera nazwę tabeli, pole nr 1 do sprawdzenia, wartosc dla pola nr 1, pole nr 2, wartosc dla pola nr2, i parametr "inne"
  3. include("/../config.php");
  4. if($pole2 == 0 && $wartosc2 == 0 && $inne == 0){ //jeśli podane zostały tylko `tabela`, pole i 'wartosc' dla pola
  5.  
  6. $miejsce = mysql_fetch_assoc(mysql_query("SELECT COUNT(*) FROM $tabela WHERE $pole = '$wartosc'"));
  7.  
  8. return $miejsce;
  9. }
  10. if($pole2 != 0 && $wartosc2 != 0 && $inne == 0){ //jeśli podane są wszystkie pola prócz "inne"
  11.  
  12. $miejsce = mysql_fetch_assoc(mysql_query("SELECT COUNT(*) FROM $tabela WHERE $pole = '$wartosc' AND $pole2 = '$wartosc2'"));
  13.  
  14. return $miejsce;
  15.  
  16. }
  17. if($pole2 !=0 && $wartosc2 != 0 && $inne == 1){ //jeśli wszystkie pola, a inne ma wartość 1
  18.  
  19. $miejsce = mysql_fetch_assoc(mysql_query("SELECT COUNT(*) FROM $tabela WHERE $pole = '$wartosc' AND $pole2 != '$wartosc2'")); //!= przy drugim sprawdzerniu
  20.  
  21. return $miejsce;
  22. }
  23. }
  24. ?>


Niestety funkcja nie działa. Próbuję ją wykorzystać między innymi w taki sposób:

  1. $ist_user_haslo = ile_rekordow('admins', 'nick', $login, 'haslo', $haslo);
  2. $ist_user = ile_rekordow('admins', 'nick', $login, 'haslo', $haslo, 1);
  3. if($ist_user[0] == 1) {
  4. $status="wrong_password";
  5. alert('Logowanie nieudane.<br> Sprawdź pisownię nicku oraz hasła.');
  6. logi($login, $status);
  7. }
  8.  
  9. if ($ist_user_haslo[0] == 0) {
  10.  
  11. $status="user_doesnt_exist";
  12. alert('Logowanie nieudane.<br> Nie ma takiego użytkownika.');
  13. logi($login, $status);
  14. }
  15. if($ist_user_haslo[0] == 1){
  16.  
  17. $status="logged";
  18. logi($login, $status);
  19.  


Proszę o wskazanie moich błędów.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Matt23
post
Post #2





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 19.01.2013

Ostrzeżenie: (0%)
-----


  1. <?
  2. function ile_rekordow($tabela, $pole, $wartosc, $pole2 = 0, $wartosc2 = 0, $inne = 0){
  3. include("/../config.php");
  4. if($tabela != 0 && $pole != 0 && $wartosc != 0 && $pole2 == 0 && $wartosc2 == 0 && $inne == 0){
  5.  
  6. $miejsce = mysql_query("SELECT * FROM $tabela WHERE $pole = '$wartosc'") or die(mysql_error());
  7.  
  8. return $miejsce;
  9. }
  10. if($tabela != 0 && $pole != 0 && $wartosc != 0 && $pole2 != 0 && $wartosc2 != 0 && $inne == 0){
  11.  
  12. $miejsce = mysql_query("SELECT * FROM $tabela WHERE $pole = '$wartosc' AND $pole2 = '$wartosc2'") or die(mysql_error());
  13.  
  14. return $miejsce;
  15. }
  16. if($tabela != 0 && $pole != 0 && $wartosc != 0 && $pole2 !=0 && $wartosc2 != 0 && $inne != 0){
  17.  
  18. $miejsce = mysql_query("SELECT * FROM $tabela WHERE $pole = '$wartosc' AND $pole2 != '$wartosc2'") or die(mysql_error());
  19.  
  20. return $miejsce;
  21. }
  22. }
  23. ?>


Plik login.php

  1. /////////////////
  2. ///reszta kodu
  3. /////////////////
  4.  
  5.  
  6. $ist_user_haslo = ile_rekordow('admins', 'nick', $login, 'haslo', $haslo);
  7. $ist_user = ile_rekordow('admins', 'nick', $login, 'haslo', $haslo, 1);
  8. if (mysql_num_rows($ist_user_haslo) == 0) {
  9.  
  10. $status="user_doesnt_exist";
  11. alert('Logowanie nieudane.<br> Nie ma takiego użytkownika.');
  12. logi($login, $status);
  13. }
  14.  
  15. if(mysql_num_rows($ist_user) == 1) {
  16. $status="wrong_password";
  17. alert('Logowanie nieudane.<br> Sprawdź pisownię nicku oraz hasła.');
  18. logi($login, $status);
  19. }
  20.  
  21. if(mysql_num_rows($ist_user_haslo) == 1){
  22.  
  23. $status="logged";
  24. logi($login, $status);
  25.  
  26. header("Location: panel.php");
  27. }
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #3





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Miałem na myśli ten fragment:
Cytat(Matt23 @ 24.07.2014, 15:05:28 ) *
  1. $ist_user_haslo = ile_rekordow('admins', 'nick', $login, 'haslo', $haslo);
  2. $ist_user = ile_rekordow('admins', 'nick', $login, 'haslo', $haslo, 1);
  3. if (mysql_num_rows($ist_user_haslo) == 0) {


Zmienna $ist_user_haslo zawiera liczbę zwróconą przez ile_rekordow(), a Ty podajesz ją jako parametr mysql_num_rows. To nie ma sensu (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie
- Matt23   [MySQL][PHP]Niedziałająca funkcja zliczająca rekordy   23.07.2014, 21:14:53
- - SmokAnalog   Zobacz sobie co zwraca mysql_fetch_assoc. A tak sw...   23.07.2014, 21:24:36
- - Matt23   Niektóre z elementów mojego kodu mogą być bez sens...   23.07.2014, 21:30:54
- - SmokAnalog   Moim zdaniem jeśli funkcja nazywa się ile_rekordow...   23.07.2014, 21:39:51
- - Matt23   Trochę popracowałem i mam coś takiego [PHP] pobie...   24.07.2014, 12:46:15
- - SmokAnalog   Jesteś pewien, że prawidłowo łączysz się z bazą? M...   24.07.2014, 13:03:30
- - Matt23   Łączenie z bazą działa na pewno, ponieważ dzieje s...   24.07.2014, 13:35:02
- - Turson   W poście #6 jest podpowiedź jak wyświetlić błędy w...   24.07.2014, 13:37:50
- - Matt23   @up Dopisałem do zapytań w funkcji, ale nie pokaz...   24.07.2014, 13:53:04
- - Turson   Pokaż cały kod jak teraz wygląda   24.07.2014, 13:59:04
- - Matt23   [PHP] pobierz, plaintext <?function ile_rekordo...   24.07.2014, 14:05:28
|- - SmokAnalog   Miałem na myśli ten fragment: Cytat(Matt23 @ ...   24.07.2014, 14:29:16
- - Turson   Na linii 7 dodaj jeszcze [PHP] pobierz, plaintext ...   24.07.2014, 14:06:48
- - Matt23   @up dodałem to między 7 a 8 linią i po wprowadzen...   24.07.2014, 14:15:29
- - Turson   Jeżeli var_dump daje null, to znaczy że żaden waru...   24.07.2014, 14:21:24
- - SmokAnalog   Zauważ, że przekazujesz liczbę do mysql_num_rows.   24.07.2014, 14:22:14
- - Matt23   @SmokAnalog, więc chyba porównując czy przekazan...   24.07.2014, 14:25:41
- - Matt23   Usunąłem mysql_num_rows i nadal nic nie idzie, var...   24.07.2014, 14:39:31
- - SmokAnalog   Musisz się nauczyć debugować kod. Wstaw na przykła...   24.07.2014, 14:55:44
|- - Bodzimier   Cytat(SmokAnalog @ 24.07.2014, 15:55...   24.07.2014, 15:27:07
- - Matt23   Skoro twierdzisz, że to bezsensu, to chyba sobie d...   24.07.2014, 15:12:50


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 19:47