Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Rejestracja dziala ale wyskakuje blad
Forum PHP.pl > Forum > Przedszkole
woyo-sensei
Witam.

Otoz zrobilem skrypt rejestracji:

  1. <?php
  2. //14
  3. echo&#092;"
  4.  
  5. Podaj swoja nazwe uzytkownika:
  6.  
  7.  
  8.  
  9.  
  10. Podaj swoje haslo:
  11.  
  12.  
  13.  
  14.  
  15. Podaj pytanie (potrzebne do przypomnienia hasla):
  16.  
  17.  
  18.  
  19.  
  20. Podaj odpowiedz (potrzebne do przypomnienia hasla):
  21.  
  22.  
  23.  
  24.  
  25. Podaj swoj PRAWIDLOWY adres e-mail (potrzebny do odzyskania hasla - wymagane):
  26.  
  27.  
  28.  
  29.  
  30.  
  31. &#092;";
  32.  
  33. //15
  34. if( $_GET['action']==&#092;"register1\" && isset($_POST['login']) && isset($_POST['pass']) && isset($_POST['pytanie']) && isset($_POST['odpowiedz']) && isset($_POST['email']) )
  35. {
  36.  
  37. //16
  38. $login = $_POST['login'];
  39. $pass = md5($_POST['pass']);
  40. $pytanie = md5($_POST['pytanie']);
  41. $odpowiedz = md5($_POST['odpowiedz']);
  42. $mail = $_POST['email'];
  43.  
  44.  
  45. //17
  46. $db = mysql_connect( $db_server, $db_user, $db_pass );
  47. mysql_select_db( $db_name );
  48. $query = &#092;"SELECT `mail`, `pytanie`, `odpowiedz`, `password` FROM `users` WHERE `login`='$login'\";
  49. $query = mysql_query( $query );
  50. $haslo = mysql_fetch_row( $query );
  51.  
  52.  
  53.       
  54. //18
  55. if( isset($haslo[0]) ) { echo&#092;"Taki użytkownik już istnieje!\"; }
  56. else
  57. {
  58.  
  59. //19
  60.     $query = &#092;"INSERT INTO `users` (`id`, `login`, `password`, `email`, `pytanie`, `odpowiedz`) VALUES ('', '$login', '$pass', '$email', '$pytanie', '$odpowiedz') \";
  61.     if( $log = mysql_query($query) ){ echo &#092;"OK
  62. Zostałeś zarejestrowany!
  63. &#092;";
  64.     echo &#092;"Za chwile zostaniesz przeniesiony na strone glowna\";
  65. include ('przenies.js');
  66.     }
  67.     else{ echo&#092;"Coś poszło nie tak.
  68. &#092;"; }
  69. }
  70.  
  71. mysql_close( $db );
  72. }
  73.  
  74. ?>





Rejestracja dziala, znaczy sie, mozna sie zarejestrowac, podczas logowania rowniez dziala. Ale zaraz po zakonczeniu rejestracji wyskakuje blad:

Kod
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/f1info/domains/woyo-sensei.x2t.pl/public_html/register1.php on line 42




Jest to lekko przerobiona rejestracja z tego tutorialu. Dodatkowo na potrzeby wiekszej ilosci opcji w rejestracji musialem wzbogacic baze danycyh o dodatkowe kolumny:

  1. <?php
  2. include(&#092;"config.php\");
  3.  
  4. echo&#092;"Łączenie z bazą danych... \";
  5.  
  6. if ( $db = mysql_connect( $db_server, $db_user, $db_pass ) ){ echo &#092;"OK
  7. &#092;"; }
  8. else{ echo&#092;"BŁĄD
  9. &#092;"; }
  10.  
  11. echo&#092;"Wybieranie bazy danych... \";
  12.  
  13. if ( $log = mysql_select_db( $db_name ) ){ echo &#092;"OK
  14. &#092;"; }
  15. else{ echo&#092;"BŁĄD
  16. &#092;"; }
  17.  
  18. echo&#092;"Tworzenie tabel... \";
  19.  
  20. $query = &#092;"CREATE TABLE users (id integer NOT NULL AUTO_INCREMENT, login char(16), password char(32), email char(64), pytanie char(128), odpowiedz char(64), PRIMARY KEY(id))\";
  21.  
  22. if ( $log = mysql_query($query) ){ echo &#092;"OK
  23. &#092;"; }
  24. else{ echo&#092;"BŁĄD
  25. &#092;"; }
  26.  
  27.  
  28. echo&#092;"Dodawanie potrzebnych wpisów...
  29.  
  30.  
  31. &#092;";
  32. echo &#092;"Dodawanie wpisu na haslo
  33. &#092;";
  34. $haslo = md5(&#092;"TUTAJ_NASZE_HASŁO\");
  35. echo &#092;"Dodawanie wpisu na loginy
  36. &#092;";
  37. $login = &#092;"TUTAJ_NASZ_LOGIN\";
  38. echo &#092;"Dodawanie wspisu na adres e-mail
  39. &#092;";
  40. $mail = &#092;"NASZ_MAIL\";
  41. echo &#092;"Dodawanie wpisu pytania
  42. &#092;";
  43. $pytanie = md5(&#092;"NASZE_PYTANIE\");
  44. echo &#092;"Dodawanie wspisu odpowiedzi
  45. &#092;";
  46. $odpowiedz = md5(&#092;"NASZA_ODPOWIEDZ\");
  47.  
  48. $query = &#092;"INSERT INTO `users` (`id`, `login`, `password`, `email`, `pytanie`, `odpowiedz`) VALUES ('', '$login', '$haslo', '$email', '$pytanie', '$odpowiedz') \";
  49.  
  50. if ( $log = mysql_query($query) ){ echo &#092;"OK
  51. Instalacja zakończona pomyślnie!&#092;"; }
  52. else{ echo&#092;"BŁĄD
  53. &#092;"; }
  54.  
  55.  
  56. ?>




Czy znajdzie sie osoba, ktora pomogla by mi rozwiazac ten problem? Bede bardzo wdzieczny za pomoc
Quapil
  1. <?php
  2. $query = "INSERT  INTO `users` (`id`, `login`, `password`, `email`, `pytanie`,  `odpowiedz`) VALUES ('', '$login', '$pass', '$email', '$pytanie',  '$odpowiedz') "
  3. ?>

domyślam się, że id to int a chcesz wstawić string (pusty). Zamiast tego daj:
  1. <?php
  2. $query = "INSERT  INTO `users` (`id`, `login`, `password`, `email`, `pytanie`,  `odpowiedz`) VALUES (null, '$login', '$pass', '$email', '$pytanie',  '$odpowiedz') ";
  3. ?>

lub całkiem usuń id i jego wartość.
woyo-sensei
Nie pomoglo. Blad nadal wystepuje. Poza tym w bazie zapisuja sie chyba wszystkie dane procz maila (chyba wszystkie bo tylko login i mail nie sa szyfrowane wiec powinny w bazie byc widocznie normalnie).
golaod
Człowieku,a mogę wiedzieć czemu zabierasz ludziom czas ?
CZYTAJ FAQ na forum jest do cholery jasno napisane PRZECZYTAJ ZANIM COŚ NAPISZESZ.
Tam oto czeka Cię nagroda w postaci:
mysql_query($zapytanie) or die(mysql_error());
Skoro mysql_fetch_row przyjal argument ktory NIE JEST WLASCIWYM IDENTYFIKATOREM to oznacza, że w zapytaniu jest błąd.
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.