![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Cały swój projekt zmieniam na biblioteki PDO (dużo roboty z tym mam) i często wyskakują mi błędy. Generalnie z wszystkim sobie radzę, ale nad systemem logowania siedze od godziny i już brakuje mi pomysłów. Skrypt jest od turson (turson.pl). Rejestracja działą prawidłowo, wszystko zapisuje do bazy itp. plik config jest require w index.php, tam natomiast include rejestracja i logowanie. (rejestracja działa, jak już pisałem)
A o to logowanie:
Problem: po wpisaniu login i pass pokazuje Login i/lub hasło są nieprawidłowe. Tak, tak, ale sytuacja taka, że login i hasło są na 100% prawidłowe. Założyłem już 11 kont i wszędzie ten sam problem. Już nie wiem na co patrzeć... Struktura bazy danych: users id - login - pass - email - date - battle - tag - grupa (interesuje nas przy logowaniu tylko login i pass, prawda?) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
http://pl1.php.net/manual/en/pdostatement.rowcount.php
Cytat PDOStatement::rowCount() returns the number of rows affected by the last DELETE, INSERT, or UPDATE statement executed by the corresponding PDOStatement object. If the last SQL statement executed by the associated PDOStatement was a SELECT statement, some databases may return the number of rows returned by that statement. However, this behaviour is not guaranteed for all databases and should not be relied on for portable applications. No, i tyle w temacie (IMG:style_emoticons/default/wink.gif) Skoro przy logowaniu pobierasz $row, to sprawdzaj czy ten $row jest poprawny a nie ilosc |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
"najprostsze rozwiązania są najlepsze"
dzięki za rozwiązanie, działa. Nie wiem czemu tego nie zauważyłem. Jeszcze coś mi nie wychodzi, obojętnie jaki user / pass to i tak loguje. Z tym sprawdzeniem $row coś źle kombinuje.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
if($stmt->rowCount()!=0){
cały czas pokazuje nieprawidłowy user / pass, a jest prawidłowe na 100%. Widać mam coś z bazą źle lub rejestracją. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Wyświetl sobie przez echo zmienne $login i $pass, może hasło trzeba zakodować np. sha1 przy logowaniu bo rejestrując kodujesz?
|
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
A czego ty robisz if ($stmt!=0){ (IMG:style_emoticons/default/questionmark.gif)
Przeciez wyraznie ci mowilem ze masz sprawdzac $row.... czy ja po chinsku pisze? $stmt zawsze jest true, nawet jak nie znajdzie rekordu.... to rekord/$row masz sprawdzac |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Działą tylko z if($stmt->rowCount()!=0){, warunku na $row coś mi nie wychodziło...
Okazało się, że problemem jest baza danych, pole na hasło miało maksymalnie 32 znaki, podczas kiedy kodowanie wymagało ich więcej. Można zamknąć edit: rozwiązane Ten post edytował Forti 9.06.2014, 18:12:23 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
$nurl->Url('log=profil?id='.$_SESSION['tutaj_problem_mam'].'')
jaki problem? Jeżeli w logowaniu zapisałeś id usera: $_SESSION['user_id'] = $row['id']; to powinieneś wiedzieć co wstawić nie wiem jak kopiujesz gotowce, że pominąłeś session_start na stronie głównej. Cytat W internecie znalazłem gotowe skrypty na mysqli, na mysql_query, jednak ja korzystam z PDO i niby nie powinienem mieć problemu, ale jednak go mam.. Czy to mysql, czy mysqli czy pdo to zapytania niczym sie nie roznia. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 12:58 |