Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]problem z mysql_num_rows()
Forum PHP.pl > Forum > Przedszkole
jonaev
Witam
w poniższym skrypcie kompilator wywala błąd przy linijce z mysql_num_rows a dokładnie "mysql_num_rows(): supplied argument is not a valid MySQL result resource"...macie pomysł dlaczego?

  1. <?php
  2. include "baza.php";
  3. $pass = $_POST['pass'];
  4. $login = $_POST['login'];
  5. if ((!$login) | (!$pass)) {
  6. print ("nie podales loginu albo hasla");
  7. }
  8. if (isset($_POST['klik']))
  9. {
  10. $db = otworz_baze();
  11. echo $db;
  12. $num = mysql_num_rows(mysql_query("SELECT * FROM konta WHERE login='$log' AND hasło='$pass'"));
  13. if ($num == "1") {
  14. session_register("login");
  15. header("Location: /start.php?" . SID);
  16. }
  17. }
  18. ?>
kadlub
masz złe zapytanie bedę strzelał masz pole hasło czy haslo?
jonaev
o kurde, faktycznie problem tkwił w tym ł ;] za to pojawił się inny problem: poniżej jest cały kod strony do logowania i sęk w tym że nie działa odnośnik do strony start.php. zamiast tego po kliknięciu submit strona się odświeża i cały czas pojawia się ten sam formularz...
  1. <head>
  2.  
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4. </head>
  5. <body>
  6. <form method=post action="">
  7. Podaj hasło i login: <br>Hasło: <INPUT TYPE="PASSWORD" NAME="pass">
  8. <br>Login: <INPUT TYPE="login" NAME="login">
  9. <br><INPUT TYPE="SUBMIT" VALUE="Zaloguj" NAME="klik">
  10. </form>
  11. <?php
  12. include "baza.php";
  13. $pass = $_POST['pass'];
  14. $login = $_POST['login'];
  15. if ((!$login) | (!$pass)) {
  16. print ("nie podales loginu albo hasla");
  17. exit;
  18. }
  19. if (isset($_POST['klik'])) {
  20. $db = otworz_baze();
  21. echo $db;
  22. $num = mysql_num_rows(mysql_query("SELECT * FROM konta WHERE login='$log' AND haslo='$pass'"));
  23. if ($num == "1") {
  24. session_start();
  25. session_register("login");
  26. header("Location: /start.php?" . SID);
  27. exit;
  28. }
  29. }
  30. ?>
  31. </body>
  32. </html>

sprawdziłem że $num wynosi zawsze zero, nawet jak login i hasło wpisane w formularzu się zgadza...pytanie więc czy ten formularz i przenoszenie zmiennych $log i $pass jest napewno dobre?
kadlub
<?php if (!isset($_POST['klik'])){ ?>

tu formularz
<?php } ?>
i teraz jeśli prześlesz formularz to strona sie odświeży ale formularza nie powinno być
a i ustaw action wpisz tam adres strony w której odbierasz dane
a na przyszłość session_start() daje sie na samym początku pliku
jonaev
dobra, problem tkwił jednak w innym miejscu, w zapytaniu w 13 linijce jest $log a w formularzu $login...teraz działa, dzięki za pomoc ;]
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.