• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z password_verify PHP OOP

Object Storage Arubacloud
0 głosów
255 wizyt
pytanie zadane 25 marca 2017 w PHP przez ThePatrykOOO Dyskutant (8,400 p.)

Witam mam taki kawałek kodu z mojej klasy. Wszystko wykonuje się poprawnie, połączenie z bazą danych. Zmienna $count wskazuje wartość 1 gdy istnieje taki user w bazie. Problem jest z password Verify. $password to zmienna z formularza, $result['password'] hash hasła z bazy danych oto fragment kodu.

public function login($emailLogin=null, $password=null)
	{
		$this->emailLogin = $emailLogin;
		$emailLogin = htmlentities($emailLogin, ENT_QUOTES, "UTF-8");
		$this->password = $password;
		$sql = "SELECT * FROM users WHERE email='$this->emailLogin'";
		$question = $this->connect()->query($sql);
		$count = $question->RowCount();
		if ($count > 0) {
			$result = $question->fetch();
	      	if(password_verify($password, $result['password']))
	      	{
	         	$_SESSION['logged'] = true;
	         	

	      	} else {
				echo "NO";
				$_SESSION['error'] = ["Nie znaleziono użytkownika o takim loginie i haśle!"];
			}
		} else {
			echo "NO1";
			$_SESSION['error'] = ["Nie znaleziono użytkownika o takim loginie i haśle!"];
		}
	}

 

komentarz 25 marca 2017 przez Ehlert Ekspert (212,670 p.)
Jakaś kosmiczna ta Twoja klasa. Łączy z bazą danych, grzebie w niej, modyfikuje sesję i wyświetla. To wszystko w jednej metodzie. Hańba dla OOP.
komentarz 25 marca 2017 przez ThePatrykOOO Dyskutant (8,400 p.)
nie chcę być chamski ani nie miły ale to nie jest moim problem na tą chwilę, jeśli nie umiesz go rozwiązać nie musisz tego komentować. Albo przynajmniej napisać to na końcu.
1
komentarz 25 marca 2017 przez CzikaCarry Szeryf (75,340 p.)
ThePatrykOOO to tak samo, jakbys poszedł do dentysty z bolącym zębem, on by Ci powiedział, że do leczenia jest jeszcze 10 innych, a ty byś powiedział, że nie jest to Twoim problemem na ten moment bo nie boli. A kiedyś w końcu zaboli, a wtedy może być za późno...

1 odpowiedź

0 głosów
odpowiedź 25 marca 2017 przez Ehlert Ekspert (212,670 p.)

Używasz password_hash? rowCount małą literą. Używaj var_dump.

komentarz 25 marca 2017 przez ThePatrykOOO Dyskutant (8,400 p.)
czyli jak to powinno wyglądać za pomocą var_dump. rowCount mam po prostu przyzwyczajenie z pisania camel case. Dlaczego niby mam nie używać password_hash?
komentarz 25 marca 2017 przez Ehlert Ekspert (212,670 p.)
  1. Masz używać password_hash
  2. za pomocą var_dumpa sprawdzasz co siedzi w zmiennych i obiektach i dlaczego nie działa to co napisałeś. Najlepiej zainstaluj Xdebug i wszystko będzie jasne.
komentarz 25 marca 2017 przez ThePatrykOOO Dyskutant (8,400 p.)
w $result['password'] siedzi string 60

w $password siedzi string 5
komentarz 25 marca 2017 przez Ehlert Ekspert (212,670 p.)
Nie zrozumieliśmy się.

To Ciebie ma interesować co siedzi w zmiennych, a nie mnie. Nie każdy problem z programowania ogranicza się do wklejenia kodu na forum z dopiskiem HELP. Jeśli sam nie potrafisz, lub nie chcesz kombinować gdzie zaistniały błędy, które sam stworzyłeś to widocznie programowanie nie jest dla Ciebie.
komentarz 25 marca 2017 przez Ehlert Ekspert (212,670 p.)

Wszystko działa. LINK

komentarz 25 marca 2017 przez ThePatrykOOO Dyskutant (8,400 p.)
Po prostu denerwują mnie takie komentarze lub porady tego typu które nie rozwiązują mojego problemu. To znaczy że każdą linijkę kodu mam robić w oddzielnej funkcji lub klasie. Po prostu przestawiam się z programowania strukturalnego na obiektowy. Jeszcze umieszcze wpis w sprawie oceny mojego systemu logowania i rejestracji i wtedy będę coś zmieniał i będziesz mógł skomentować co ci się nie podoba.
komentarz 25 marca 2017 przez Ehlert Ekspert (212,670 p.)

Też chciałem kiedyś pisać wszystko po swojemu twierdząc, że tak będzie najlepiej, bo to moje i po mojemu. Otóż tak nie jest. Pisząc od zera nie bazując na książkach typu Cookbook, artykułach typu Best practices i frameworkach (PHP szczególnie), marnujesz swój czas i uczysz się złych nawyków. Im szybciej to zrozumiesz tym lepiej. 

Podobne pytania

+1 głos
1 odpowiedź 149 wizyt
pytanie zadane 9 marca 2021 w PHP przez niezalogowany
0 głosów
2 odpowiedzi 1,715 wizyt
pytanie zadane 8 lutego 2017 w PHP przez auradin Użytkownik (560 p.)
0 głosów
0 odpowiedzi 239 wizyt
pytanie zadane 30 lipca 2020 w PHP przez darekx10 Nowicjusz (120 p.)

92,567 zapytań

141,420 odpowiedzi

319,616 komentarzy

61,953 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...