![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 21.07.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie wszystkich użytkowników forum. Chciałem prosić o pomoc w poniższym skrypcie. Otóż chodzi o to, że nie bardzo chce mi działać funkcja logowania. Wyskakuje mi wyjatek zawarty w lini 56. Dodam ze na pewno dobrze połączyłe się z baza danych(skrypt rejestracji mam juz gotowy;) ). Opisze ponizszy skrypt komentarzami to moze latwiej bedzie znalezc blad. Z gory dziekuje wszystkim za pomoc.
Na moje oko zrobione jest poprawnie, jednak wyskakuje mi ten wyjatek ehh.. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 248 Pomógł: 38 Dołączył: 29.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jak używasz throw z jakimś parametrem (komunikatem) to w catch'u przydało by się go wyświetlić za pomocą ex->getMessage(). Będziesz wiedział wtedy, w którym miejscu wyrzuciło ci ten wyjątek i co nie działa.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 411 Pomógł: 35 Dołączył: 27.06.2004 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Pokaż interfejs klasy, której obiektem jest $db. Na mój gust: $db->num_rows powinno być metodą: $db->num_rows()
-------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 21.07.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
kaem zrobilem tak jak mowiles i wychodzi na to ze:
(to jest od 19 lini kodu w tamtym poscie) tutaj wywala ten wyjatek, nie zwraca wartosc wartosc true, tak jakby nie odnajdywalo uzytkownika. moze jakos zle kodowanie hasla odczytuje? legorek w skrypcie rejestracji uzywam $db->num_rows do sprawdzania podczas rejestracji czy login nie jest juz zajety i wszystko ładnie smiga:> oto wyrywkowa czesc kodu z tego skryptu:
No i w catchu pozniej mam wlasnie obsluge tego wyjatku przez e->getMessage(); Jednak dla pewnosci sprobowalem i wyskoczyl blad: Fatal error: Call to undefined method mysqli_result::num_rows() Jednak dzięki Wam za odpowiedzi. EDIT: legorek a $db do tego skryptu to:
I zauwazylem ciekawa rzecz a mianowicie jesli usunalem druga czesc czyli sprawdzania hasla w bazie danych to zalogowalo sie, wiec wina tu musi lezec po stronie odkodowania, wiec teraz pytanie, zakodowalem to przez sha1, jednak zeby teraz odczytac to z bazy danych to powinienem uzyc jakiejs innej metody? Bo teraz jak widac nie działa. Ten post edytował Kpt_Blood 21.07.2008, 10:53:06 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 248 Pomógł: 38 Dołączył: 29.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
A może po prostu wpisujesz złe hasło
![]() Acha i jeszcze pamiętaj, że po zakodowaniu hasło zajmuje wiele więcej miejsca. Chyba coś ponad 40 znaków. Czyli może utwrzyłeś za krótkie pole na hasło w bazie. A to twoje zapytanie jest dobre:
Tylko nie czaje czemu wybierasz z bazy kolumnę "login" a w warunku where używasz jakiejś kolumny "nazwa". |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 21.07.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
kaem no i problem rozwiazany, chodzilo o to ze w bazie danych ustawilem haslo na 10 znakow, a faktycznie po zakodowaniu 6znakowego hasla jest 40;)
Z tym czego nie czaisz to tu na forum pozmienialem nazwy pol i zmiennych chociaz to pewnie i tak bezpieczniejsze nie bedzie ![]() W kazdym badz razie dziekuje:) wszystko smiga mam nadzieje jak nalezy. Pozdrawiam. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 00:28 |