![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 342 Pomógł: 15 Dołączył: 30.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Cześć, za cholerę nie mogę napisac prostego warunku sprawdzania w PDO, co innego w mysql korzystając z funkcji mysql_num_row.
Co tutaj jest źle? w tej chwili wpisując imię do formularza które jest już w bazie, nie wyświetla żadnego komunikatu. Zresztą w ogóle nie wyświetla czy jest czy nie jest. Jak sprawdzić czy taki user jest już w bazie czy nie?
Ten post edytował Boshi 7.10.2014, 19:03:27 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Skoro ci nie wyswietla zadnego komunikatu to:
albo w ogole nie dochodzi do tego kodu albo masz blad, ktory powoduje przerwanie skryptu. Włącz wyswietlanie bledow a sie dowiesz -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 342 Pomógł: 15 Dołączył: 30.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
brakuje 'echo' przy elsie dlatego nie wyświela , teraz zauważyłem.
Jednak dalej nie rozumiem jak sprawdzić czy w bazie jest taki user ? Powyższy kod niestety nie działa. Wyswietla elsa a więc 'nie istnieje taki user' co jest oczywiście bzdurą bo takowy w bazie jest. Ten post edytował Boshi 7.10.2014, 19:56:46 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
$row = $add->fetch();
var_dump($row); co wyswietla? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 342 Pomógł: 15 Dołączył: 30.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
bool(false) , czy wpiszę w polu imię dane z bazy czy totalna bzdurę zwraca false.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Widac nie znajduje
![]() To lecim dalej: var_dump($imie); co wyswietla? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 342 Pomógł: 15 Dołączył: 30.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Zwraca długość wpisanego stringa w pole imie:)
string(6) "Kacper" |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No dobra, a pokaz kod jaki dales z fetch co kazalem ci dopisac. Moze wstawiles to w zlym miejscu
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 342 Pomógł: 15 Dołączył: 30.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Może aby było łatwiej podam cały kod. ( nie jest długi+ wyrzuciłem łączenie bo jest na pewno dobrze a szkoda rozszerzać kod tutaj) Jest sporo błędów, brak zastosowania wyrażeń regularnych itd, ale najpierw chcę nauczyć się operacji na samej bazie a potem te szczegóły sobie poprawię
![]()
Ten post edytował Boshi 7.10.2014, 22:40:52 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No dobra. Wynika z tego, że nie znajduje ci usera.
Albo go nie masz w bazie Albo się łączysz do złej bazy Albo się w ogóle nie łączysz do bazy - nigdzie nie widze, bys gdziekolwiek tworzyl obiekt $conect Albo masz błąd zapytania - wyswietl go sobie -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
$add->bindValue('imie', $imie, PDO::PARAM_STR);
piewszy parametr w bindValue() ma być taki sam jak w zapytaniu, czyli ':imie' a nie 'imie' |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 342 Pomógł: 15 Dołączył: 30.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Poprawiłem ":" ale to nie to oczywiście.
łącze się z dobrą bazą, nie ma błędów. Jeżeli dobrze rozumiem to metoda fetch powinna działac jak poniżej. Czyli wykonanie jej na zmiennej 'add' powinna zwórcić jako wynik dane z tabeli. Tutaj zwraca false za każdym razem. Może prościej będzie jak ktoś userów poda prosty kod na sprawdzenie czy coś w bazie istnieje?
tutaj jeszcze owe połaczenie dla pewności:
Ten post edytował Boshi 8.10.2014, 14:35:43 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Sprawdziles dokladnie wszystkie rzeczy co podalem? Pokaz kod po porawkach, ktore miales zrobic, bo jakoś ci nie wierzę.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 342 Pomógł: 15 Dołączył: 30.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Sprawdziłem, ale miałeś rację... nie mam pojęcia jak mogłem popełnić tak banalny błąd w zapytaniu. Chodziło oczywiście o "FROM user" a user to nazwa bazy danych, a oczywiście miało być nazwa tabeli.. ehhh
Wszystko działa jak powinno. jeszcze jedno pytanie. Czy ":" w metodzie bindValue jest konieczne? gdzieś spotkałem się, że można to pominąć? Dziękuję serdecznie za pomoc, czasem faktycznie warto sprawdzać zapytania ![]() |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Sprawdz czy przejdzie bez : to sie dowiesz.
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 342 Pomógł: 15 Dołączył: 30.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli miało to nie przejść, to niestety, a może stety ale przeszło
![]() Przy podaniu imienia z bazy -> istnieje taki user przy podaniu bzdur-> nie istnieje taki user Mógłbym prosić jeszcze o pomoc z logowaniem ? Nie chcę zakładać nowego tematu. Doszedłem do rozwiązania, że loguje sie poprawnie, ale... hasło przesyłane w formularzu nie może być kodowane np funkcją password_hash() a mianowicie $password= password_hash($password, PASSWORD_DEFAULT); - bez tej linijki sesja działa normalnie, z nią, wyrzuca że błąd logowania (nie znajduje hasła bo login sam sprawdzałem i działa.) Czy to oznacza, że muszę rozkodowywać jakoś to hasło czy jak ? Kawałek skryptu (obcięte dużo fragmentów aby zaoszczędzić na czasie)
I jeszcze miałbym prośbę. Czy taki skrypt logowania jest akutalny na dziś ? tzn dalej wszystko bazuje na sesjach? |
|
|
![]()
Post
#17
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Jesli przy logowaniu sprawdzasz hash z hasla, to i rejestrujac usera, masz do bazy wrzucac hash z hasla... to chyba logiczne. Nie mozesz podczas rejestracji wrzucac do bazy hasla jawnego a podczas logowania w bazie szukac hasła zahashowanego... przeciez to nie ma sensu...
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 342 Pomógł: 15 Dołączył: 30.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
No tak to jest logiczne, ale powiedz mi jak mam porównać hash z logowania z hashem z bazy danych? wyprintowałem sobie hash logowania gdzie hasło odpowiada temu z bazy i się różnią sporo między sobą.
Hash z bazy
hash logowania
Ten post edytował Boshi 9.10.2014, 19:48:36 |
|
|
![]()
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie sądzisz, że logicznym jest sprawdzenie skryptu rejestracji, gdyz to tam wlasnie prawdopodobnie wstawiasz ten hash do bazy?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 342 Pomógł: 15 Dołączył: 30.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Wybacz ale nie za bardzo rozumiem.
Wg logiki to ma działać tak; 1 user się rejestruje-podaje hasło, skrypt przetwarza dane i hashuje hasło odpowiednim algorytmem 2 skrypt wrzuca do bazy zahashowane hasło 3 user się loguje- hash hasła które podaje user musi być identyczne jak w bazie i przy 3 punkcie nie bardzo rozumiem jak to w skrypcie rejestracji poprawić? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 06:36 |