Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> Obszerniejsza rejestracja, Lepsza czy gorsza
Tho
post
Post #1





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 26.07.2011

Ostrzeżenie: (20%)
X----


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ę? (IMG:style_emoticons/default/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...

Ten post edytował Tho 27.10.2011, 19:02:20
Go to the top of the page
+Quote Post
cycofiasz
post
Post #2





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Coś jest nie tak z bazą albo z zapytaniem sql
Go to the top of the page
+Quote Post
Tho
post
Post #3





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 26.07.2011

Ostrzeżenie: (20%)
X----


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. (IMG:style_emoticons/default/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.

Ten post edytował Tho 27.10.2011, 19:13:50
Go to the top of the page
+Quote Post
darko
post
Post #4





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/smile.gif)

Ten post edytował darko 27.10.2011, 19:44:50
Go to the top of the page
+Quote Post
cycofiasz
post
Post #5





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

Ostrzeżenie: (0%)
-----


echo mysql_error(); pod każdym zapytaniem daj
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




@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.
Go to the top of the page
+Quote Post

Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 14:50