Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][PHP]Dodaje te same rekordy do bazy
Forum PHP.pl > Forum > Przedszkole
rad11
Witam panowie mam problem tego typu, że po wypelnieniu formularza i wyslaniu go do bazy rokord dodaje sie ale jest błąd:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\One_Piece\panel_rejestracji\rejestruj.php on line 13
Konto dfsa zostalo utworzonePrzejdz do logowaniaWróc do rejestracji

A powinien zanegować operację gdy juz takie konto istnieje w bazie nie wiem co tu źlę robię proszę o jakieś sugestie i pomoc w rozwiazaniu tego problemu:

  1. <?php
  2. include('../baza/otwarcie_bazy.php');
  3.  
  4. if (isset($_POST['konto']) and isset($_POST['password']) and isset($_POST['password2']) and isset ($_POST['meil']) )
  5. {
  6. if ($_POST['password']==$_POST['password2'])
  7. {
  8. $konto = mysql_real_escape_string (trim($_POST['konto']));
  9. $password = mysql_real_escape_string (trim($_POST['password']));
  10. $password_sha = sha1($password);
  11.  
  12. $ile =mysql_query("SELECT * FROM `uzytkownicy` WHERE login = '$konto' ");
  13. $ile = mysql_num_rows($ile);
  14.  
  15. if ($ile==0)
  16. {
  17. $zapytanie="INSERT INTO uzytkownicy (uzytkownicy_login, uzytkownicy_haslo, uzytkownicy_haslo_sha) VALUES('$konto','$password', '$password_sha')";
  18. mysql_query($zapytanie) or die("Wystąpił błąd" );
  19. echo('Konto '.$konto.' zostalo utworzone');
  20.  
  21. echo "<a href = '../index.php'>Przejdz do logowania</a>";
  22. }
  23. else
  24. {
  25. echo("Taki uzytkownik juz istnieje. Kliknij wstecz aby zarejestrowac sie ponownie");
  26. }
  27. }
  28.  
  29. else echo ("Podane hasla nie zgadzaja sie");
  30. echo "<a href = 'panel_rejestracji.php'>Wróc do rejestracji</a><br/>";
  31. }
  32. ?>


CuteOne
mysql_query("SELECT * FROM `uzytkownicy` WHERE login = '$konto' ") or die(mysql_error());

zobacz jaki błąd wywali


ps. po co hashujesz hasło skoro wrzucasz je również jako plaintext?
rad11
To samo sie wyświetla. To nie hashowac w takim wypadku? Wiesz ja na razie sobie tak testuje i probuje
CuteOne
podmień
  1. $ile =mysql_query("SELECT * FROM `uzytkownicy` WHERE login = '$konto' ");
  2. $ile = mysql_num_rows($ile);


na
  1. $query =mysql_query("SELECT * FROM `uzytkownicy` WHERE login = '$konto' ") or die(mysql_error());
  2. var_dump($query);
  3. $ile = mysql_num_rows($query);


hashuj hasło i nie zapisuj go jako tekst jawny
rad11
Na poczatku taki błąd był

Unknown column 'login' in 'where clause' hmmmm no niby takiej kolumny nie ma w tabeli tylko jest uzytkownicy_login

Po zmianie na
  1. $ile =mysql_query("SELECT * FROM `uzytkownicy` WHERE uzytkownicy_login = '$konto' ");
  2. $ile = mysql_num_rows($ile);


Wyskakuje takie cos:

resource(5) of type (mysql result) Konto Radek zostalo utworzonePrzejdz do logowaniaWróc do rejestracji

I po probie wpisania ponownie takiego samego konta wyskoczylo

resource(5) of type (mysql result) Taki uzytkownik juz istnieje. Kliknij wstecz aby zarejestrowac sie ponownieWróc do rejestracji

nospor
Znaczy że teraz jest wszystko dobrze. Masz jeszcze jakiś problem?
rad11
No to w takim razie nie mam juz w tym problemu smile.gif Dzieki Cute daje plusika 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.