![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 652 Pomógł: 47 Dołączył: 6.02.2010 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
Witam.Mam taki oto kawałek kodu:
I gdy wpisze byle co , np. a, a, a to i tak wyskakuje , ze haslo zostalo zmienione.A teraz w druga strone , jak wpisze login+haslo to zmienia haslo , ale wlasnie jest tutaj nastepny problem , bo nie porownuje mi odpowiedzi wpisanej z odpowiedzia w bazie a z uzytkownikiem chce zrobic , ze jak nie ma takiego to ma wyskoczyc , ze nie ma , ale zapytanie cos nawala chyba. Ten post edytował gigzorr 23.07.2010, 19:14:17 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Czasami zastanawiam się czy początkujący PHPowcy w ogóle wiedzą co piszą czy tylko klepią kod jak bezmózgie zombie. Przepisz kod, tak by dało się go czytać... wtedy pewnie ktoś odpowie. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 3.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Skoro najpierw hash'ujesz to tam nie ma znaków specjalnych, które usuwasz powyższymi funkcjami. Poza tym funkcje: mysql_real_escape_string i htmlspecialchars działają na takiej samej (lub podobnej) zasadzie. Więc po co tyle razy mielić? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 652 Pomógł: 47 Dołączył: 6.02.2010 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
Czasami zastanawiam się czy początkujący PHPowcy w ogóle wiedzą co piszą czy tylko klepią kod jak bezmózgie zombie. Przepisz kod, tak by dało się go czytać... wtedy pewnie ktoś odpowie. nie rozumiem co miales do konca na mysli .
ps. jak masz jakas uwage to wal , chociaz naucze sie czegos ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 126 Pomógł: 5 Dołączył: 7.03.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
chodziło mu o to:
dalej: (jak dla mnie to uprawiasz w tym miejscu jakieś cuda ![]()
(wiesz co to oznacza count?) daj tak:
I spytam jeszcze z ciekawości: Widziałeś chociaż na oczy jakikolwiek kurs PHP + MySQL?, bo chyba go nie czytałeś ![]() Ten post edytował Makciek 23.07.2010, 20:03:02 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
@zonkerman:
1) Pozwól wykazać się gigzorr-owi, by sobie przemyślał co źle zrobił, a nie dawaj na tacy odpowiedzi 2) mysql_real_escape_string i htmlspecialchars nie mają ze sobą kompletnie nic wspólnego - ich działanie i efekty również w żadnym stopniu się nie pokrywają @gigzorr: Widzę, że nadal nie udało Ci się przepisać kodu z zachowaniem odpowiednich wcięć - ale przynajmniej poprawiłeś błąd z empty. 1) Dlaczego, gdy pierwsze zapytanie (to z COUNT()) zwróci Ci 1, czyli potwierdzenie, że w bazie danych istnieje podana przez użytkownika odpowiedź do hasła, wyświetlasz komunikat "nie ma takiego użytkownika", skoro jest? Chyba Ci się bloki pomyliły (treść IF powinieneś zamienić z treścią ELSE) 2) Niepotrzebnie rozbijasz to na dwa zapytania: Jeżeli jeden rekord został zaktualizowany (mysql_affected_rows) oznacza to, że zmieniono hasło i odpowiedź pasuje do loginu. Jeżeli żaden rekord nie został zmodyfikowany oznacza to, że login/odpowiedź nie pasują. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 652 Pomógł: 47 Dołączył: 6.02.2010 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
@zonkerman: 1) Pozwól wykazać się gigzorr-owi, by sobie przemyślał co źle zrobił, a nie dawaj na tacy odpowiedzi 2) mysql_real_escape_string i htmlspecialchars nie mają ze sobą kompletnie nic wspólnego - ich działanie i efekty również w żadnym stopniu się nie pokrywają @gigzorr: Widzę, że nadal nie udało Ci się przepisać kodu z zachowaniem odpowiednich wcięć - ale przynajmniej poprawiłeś błąd z empty. 1) Dlaczego, gdy pierwsze zapytanie (to z COUNT()) zwróci Ci 1, czyli potwierdzenie, że w bazie danych istnieje podana przez użytkownika odpowiedź do hasła, wyświetlasz komunikat "nie ma takiego użytkownika", skoro jest? Chyba Ci się bloki pomyliły (treść IF powinieneś zamienić z treścią ELSE) 2) Niepotrzebnie rozbijasz to na dwa zapytania: Jeżeli jeden rekord został zaktualizowany (mysql_affected_rows) oznacza to, że zmieniono hasło i odpowiedź pasuje do loginu. Jeżeli żaden rekord nie został zmodyfikowany oznacza to, że login/odpowiedź nie pasują. Zrobiłem , tak jak napisałeś z jednym zapytaniem , i działa bez problemu , tylko jeszcze , nie chce żeby zwracalo 1 jak się uda lub 0 jak się nie uda , chce poprostu jak się uda , ze "haslo zostało zmienione" a jak nie to "nastapil blad".probowalem cos takiego:
ale takie cos to caly czas bedzie wyswietlalo "nastapil blad". |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Nie ma potrzeby cytowania całej wiadomości - więcej... to tylko przeszkadza.
1) Zobacz co zwraca mysql_query() 2) Zobacz co robi mysql_affected_rows() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 652 Pomógł: 47 Dołączył: 6.02.2010 Skąd: Radom Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 309 Pomógł: 20 Dołączył: 13.02.2010 Skąd: Kęty Ostrzeżenie: (0%) ![]() ![]() |
Offtop.
Kiedyś wyczytałem, że między 8 - 10 człowiek najlepiej myśli, jest pobudzony, ma oczywiście dużo energii i mózg pracuje trochę szybciej ![]() -------------------- Fotografia, projektowanie stron WWW | web-coding.pl - HTML 5 i CSS 3 - już w krótce ;)
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 07:03 |