Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Obszerniejsza rejestracja
Forum PHP.pl > Forum > PHP
Tho
Zainteresowałęm się innym sposobem rejestracji, po tym jak poprzedni się nie sprawdzał, nowy, za którego się zabrałem zawiera zdecydowanie więcej kodu, który wydaje się być bardziej bezpiecznym, nie tylko dzięki recaptcha, ale też dzięki filtracji wprowadzanych danych. Mam rację? wink.gif

Poza tym, tak na marginesie:

Zainstalowałem wszystko jak się należy wydawało by się, ale po wysłaniu formularza pojawia się:

Cytat
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/xxx/domains/xxx.pl/public_html/r/rejestracja.php on line 32

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/inf/domains/xxxx.pl/public_html/r/rejestracja.php on line 50


Linie:

32:
  1. if (mysql_num_rows($wynik) <> 0) {


50:
  1. if (mysql_num_rows($wynik) <> 0) {


Co nie tak z tymi linijkami?

Dzisiejszy cały dzień poświęciłem praktycznie na to "prostą" sprawę rejestracji i nie odpuszczę póki tego nie zrobię, za dużo czasu już na to zmarnowałem...
cycofiasz
Coś jest nie tak z bazą albo z zapytaniem sql
Tho
Cytat(cycofiasz @ 27.10.2011, 20:01:59 ) *
Coś jest nie tak z bazą albo z zapytaniem sql

Wiesz, zdaje sobię sprawę z tego, dlatego napisałem ten temat. smile.gif Jakieś głębsze poszlaki? Bo jak patrze teraz, z bazą łączy, tabela stworzona wszystko jak należy.

Gdzie (indziej) szukać błędu?

Przypominam, że pełny kod jest tutaj.

Aha, wykasowałem pole nazwisko i imie, i zmienne i kolumny z bazy. Nawet ich nie tworzyłem zapytaniem, to jedyna różnica czym różni się mój kod od powyższego, więc wszystko można wywnioskować pod powyższym linkiem jak ktoś się na tym zna.
darko
Trochę pojadę, ale to żeby było lepiej. Wszystko fajnie, tylko, że "Wasz system" niestety nie korzysta z PDO, więc odporny na sql injection nie jest, pomimo użycia takich potworków:
  1. $email = htmlspecialchars(stripslashes(strip_tags(trim($_POST["email"]))), ENT_QUOTES);
  2. $email2 = htmlspecialchars(stripslashes(strip_tags(trim($_POST["email2"]))), ENT_QUOTES);
  3. $imie = htmlspecialchars(addslashes(strip_tags(trim($_POST["imie"]))), ENT_QUOTES);
  4. $nazwisko = htmlspecialchars(addslashes(strip_tags(trim($_POST["nazwisko"]))), ENT_QUOTES);


  1. eregi("^[a-zA-Z0-9_.]+$", $login))

fail (zdeprecjonowane, użyj preg_match)


Po co tak sprawdzasz maila?
if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+\.)+[a-z]{2,4}$", $email)) {

Użyj filtrów

Hasła przydałoby się posolić dla smaku wink.gif i zwiększenia bezpieczeństwa. Dlaczego to nie jest napisane obiektowo? Ogólnie sieka jak mało która i właściwie nie ma tu nic ciekawego do oceny. Poza tym po co aż tak długie pola na imię i nazwisko (`imie` VARCHAR(100) NOT NULL, `nazwisko` VARCHAR(100) NOT NULL) ?

// edit

aa @topic: debugguj smile.gif
cycofiasz
echo mysql_error(); pod każdym zapytaniem daj
nospor
@Tho już odsyłałem cię do tego tematu.
Temat: Jak poprawnie zada pytanie
Odsyłam Cię jeszcze raz. To nic, że korzystasz z cudzego skryptu. Jak lecą w nim błędy to tak samo masz go debugować i wyświetlać błędy jak w swoim.

temat zamykam. Jeśli po dostosowaniu się do tematu, do którego cię odesłałem nadal będziesz miał błędy i nie będziesz wiedział o co chodzi - zapraszam na PW.

Po raz ostatni też cię proszę - pisz w dziale przedszkole.
Kolejny temat w dziale PHP zostanie przezemnie z automatu zamknięty.
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.