Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mysql_num_rows(); w sesjach (błąd)
Forum PHP.pl > Forum > Przedszkole
Ker
oto index.php:
  1. <?php
  2. session_register("zalogowany");
  3. if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;
  4. mysql_connect("localhost", "mojemias_admin", "elemis97")or die("Nie można nawiązać połączenia z bazą");
  5. mysql_select_db("mojemias_uzytkownicy");
  6.  
  7. function ShowLogin($komunikat=""){
  8. echo "$komunikat<br>";
  9. echo "<form action='index.php' method=post>";
  10. echo "Login: <input type=text name=login><br>";
  11. echo "Hasło: <input type=text name=haslo><br>";
  12. echo "<input type=submit value='Zaloguj!'>";
  13. echo "</form>";
  14. echo "Jeśli nie jesteś zarejestrowany, <a href='rejestruj.php'>tu znajdziesz formularz</a>";
  15. }
  16.  
  17. ?>
  18. <!DOCTYPE html
  19. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  20. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  21. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  22. <head>
  23. <title>Strona główna</title>
  24. </head>
  25. <body>
  26. <?php
  27. if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "Zostałeś wylogowany z serwisu";}
  28. if($_SESSION["zalogowany"]!=1){
  29. if(!empty($_POST["login"]) && !empty($_POST["haslo"])){
  30. if(mysql_num_rows(mysql_query("select * from users where user_login = '".htmlspecialchars($_POST["login"])."' AND user_haslo = '".htmlspecialchars($_POST["haslo"])."'"))){
  31. echo "Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a>";
  32. $_SESSION["zalogowany"]=1;
  33. }
  34. else echo ShowLogin("Podano złe dane!!!");
  35. }
  36. else ShowLogin();
  37. }
  38. else{
  39. ?>
  40. Gratulacje! Zalogowałeś się pomyślnie! Możesz przejśc teraz do innych podstron, np. do <a href="stronka.php">tej</a>
  41. <br><a href='index.php?wyloguj=tak'>wyloguj się</a>
  42. <?php
  43. }
  44. ?>
  45.  
  46. </body>
  47. </html>
  48. <?php mysql_close(); ?>


i rejestruj.php:
  1. <?php
  2. mysql_connect("localhost", "root", "")or die("Nie można nawiązać połączenia z bazą"); //połączenie z bazą danych
  3. mysql_select_db("test")or die("Wystąpił błąd podczas wybierania bazy danych");
  4.  
  5. function ShowForm($komunikat=""){ //funkcja wyświetlająca formularz rejestracyjny
  6. echo "$komunikat<br>";
  7. echo "<form action='rejestruj.php' method=post>";
  8. echo "Login: <input type=text name=login><br>";
  9. echo "Hasło: <input type=text name=haslo><br>";
  10. echo "<input type=hidden value='1' name=send>";
  11. echo "<input type=submit value='Zarejestruj mnie'>";
  12. echo "</form>";
  13. }
  14. ?>
  15. <!DOCTYPE html
  16. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  17. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  18. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  19. <head>
  20. <title>Formularz rejestracyjny</title>
  21. </head>
  22. <body>
  23. <?php
  24. if($_POST["send"]==1){ //sprawdzanie czy formularz został wysłany
  25. if(!empty($_POST["login"]) && !empty($_POST["haslo"])){ //oraz czy uzupełniono wszystkie dane
  26. if(mysql_num_rows(mysql_query("select * from users where user_login='".htmlspecialchars($_POST["login"]."'"))))ShowForm("Użytkownik o podanym loginie już istnieje!!!"); // sprawdzanie czy użytkownik o podanej nazwie już istnieje
  27. else{
  28. mysql_query("insert into users values(NULL, '".htmlspecialchars($_POST["login"])."', '".htmlspecialchars($_POST["haslo"])."')"); // zapisywanie rekordu do bazy
  29. echo "Rejestracja przebiegła pomyślnie. Możesz teraz przejść do <a href='index.php'>strony głównej</a> i się zalogować.";
  30. }
  31. }
  32. else ShowForm("Nie uzupełniono wszystkich pól!!!");
  33. }
  34. else ShowForm();
  35. mysql_close(); //zamykanie połączenia z bazą
  36. ?>
  37. </body>
  38. </html>




wprowadziłem do sql:
  1. CREATE TABLE `users` (
  2. `user_id` INT NOT NULL AUTO_INCREMENT ,
  3. `user_login` VARCHAR( 30 ),
  4. `user_haslo` VARCHAR( 30 ),
  5. PRIMARY KEY ( `user_id` )
  6. );






co jest cholera nie tak? ;<

Wysłane po 16 godzinach 32 minutach 26 sekundach:

a, i oczywiście bug:
Cytat
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/mojemias/public_html/sesje/rejestruj.php on line 26

i linijka 26-sta:
  1. if(mysql_num_rows(mysql_query("select * from users where user_login='".htmlspecialchars($_POST["login"]."'"))))ShowForm("Użytkownik o podanym loginie już istnieje!!!"); // sprawdzanie czy użytkownik o podanej nazwie już istnieje
wookieb
Wystarczy tych podstawowych pytań.
Temat: Jak poprawnie zadac pytanie
Przenoszę.
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.