Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Blad w skrypcie pomocy
Forum PHP.pl > Forum > Przedszkole
mejo33
Witam mam taki kod:
  1. <table style="margin:0 auto;">
  2. <tr>
  3. <td>
  4. Numer Tel: <br />
  5. Hasło:
  6. </td>
  7. <td>
  8. <input type="text" class="inputtext" name="nick"><br />
  9. <input type="password" class="inputtext" name="haslo"><br />
  10. </td>
  11. </tr>
  12. </table>
  13. <center>
  14. <input type="checkbox" name="checks" onclick="checkbox()"> Akceptuję <A style="font-size: 12px; display:inline; color: #000000; margin:0 auto; padding:0; font-weight:bold" href="#">regulamin</a> serwisu, chcę założyć swoje konto!</br>
  15. <input type="submit" name="ok" value="Rejestruj" disabled="true"><br><br>
  16. </center>
  17. </form>
  18.  
  19. <?
  20. // jeli zostanie nacinięty przycisk "Rejestruj"
  21. if(isset($_POST['ok']))
  22. {
  23. $nick = $_POST['nick'];
  24. $imie = $_POST['imie'];
  25. $nazwisko = $_POST['nazwisko'];
  26. $haslo = $_POST['haslo'];
  27.  
  28. // sprawdzamy czy wszystkie dane zostały podane
  29. if(empty($nick) || empty($haslo)) echo '<center>Wpisz wszystkie pola!</center><br><br>';
  30. else
  31. {
  32. // filtrujemy dane
  33.  
  34. // sprawdzamy czy jest już użytkownik o takim loginie
  35. $result = mysql_query("SELECT * FROM konta WHERE login='$nick'");
  36.  
  37. // jeli już istnieje
  38. if(mysql_num_rows($result)!=0) echo '<center>Już istnieje konto z takim loginem!</center><br><br>';
  39. else
  40. {
  41. // pobieramy aktualną datę
  42. date_default_timezone_set('Europe/Warsaw');
  43. $data = date('Y-m-d H:i:s');
  44.  
  45. // kodujemy hasło
  46. $haslo = md5($haslo);
  47.  
  48. //gnerowanie kodu
  49. mt_srand((double)microtime()*1000000); $salt = "";
  50. for ($i = 0; $i <= 7; $i++) { $salt .= chr(rand(97, 122)); }
  51. $aktywacja = md5($salt);
  52.  
  53. // tworzymy zapytanie
  54. $query = "INSERT INTO `konta` (`login` , `haslo`, `data_rejestracji`, `aktywacja`) VALUES ('$nick', '$haslo', '$data', '$aktywacja')";
  55. // jeli zapytanie wykona się poprawnie to zostanie wywietlony stosowny komunikat
  56. if(mysql_query($query)) echo '<center>Zostałes poprawnie zarejestrowany! Musisz aktywować konto!</center><br /><br>';
  57. $res = mysql_query("SELECT id FROM `konta` WHERE data_rejestracji='$data'");
  58. $dane = mysql_fetch_row($res);
  59. $link = 'aktywacja.php?kod='.$aktywacja.'&id='.$dane[0];
  60. echo "<center><a href='$link'>$link</a></center><br><br>";
  61.  
  62. }
  63. }
  64. }
  65. // koniec buforowania
  66. ?>


przy probie tworzenia konta wyskakuje mi blad: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\register.php on line 86
linia 86 odpowiada jak widzicie za komunikat jezeli dane konto juz istnieje lecz moja baza danych jest obecnie pusta. Prosze o pomoc.
b4rt3kk
Funkcja mysql_num_rows() przyjmuje za argument wartość typu resource. Jeśli więc zapytanie się nie wykona poprawnie, tylko wyrzuci błąd (a tak musi być, skoro baza jest pusta, rozumiem, że nie istnieją m.in. tabele? W tym tabela konta?) to wyżej wymieniona funkcja otrzymuje jako argument wartość typu boolean (mianowicie false) i nie może policzyć wyników.
mejo33
Tabele sa, pusta w sensie nie ma w niej zadnych rekordow/kont zalozonych.
b4rt3kk
Błąd o którym mówisz jednoznacznie wskazuje na błąd w zapytaniu (ponieważ nie zwraca wartości typu resource). Nie widzę też nigdzie żebyś łączył się z bazą danych? Chyba, że czegoś nie wkleiłeś tutaj? Jeśli połączenie zostało nawiązane, to sprawdź swoje zapytanie:

  1. echo $query = "SELECT * FROM konta WHERE login='$nick'";
  2. $result = mysql_query($query);
mejo33
Tak, polaczenie jest bo logowanie dziala.

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\register.php on line 86
SELECT * FROM konta WHERE login='543545'

pobiera tez jak widac z formuarza login

TEMAT DO ZAMKNIECIA, BLAD POPRAWIONY. DZIEKI b4rt3kk ZA POMOC.
wyjasnienie: moj blad przy wykonywaniu zapytania zmienilem w tabeli nazwe z login na nr_tel i stad mielismy jasno mowiacy blad:) pozdrawiam i przepraszam za swoja glupote.
b4rt3kk
EDIT.

A no to dobrze. Nie ma sprawy. smile.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.