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

Skrypt logowania php problem

Object Storage Arubacloud
0 głosów
443 wizyt
pytanie zadane 3 sierpnia 2016 w PHP przez ThePatrykOOO Dyskutant (8,400 p.)

Czołem programiści. Mam chyba dla was dosyć proste zadanie dlaczego mi nie działa skrypt logowania do strony. A mianowicie nie udało ci się zalogować a gdy warunek wezmę w drugą stronę  Uncaught Error: Call to a member function fetch_assoc() on boolean in . Jak sobie można z tym poradzić. Dzięki z góry za pomoc

Kod https://wklej.to/rzsYu

2 odpowiedzi

0 głosów
odpowiedź 3 sierpnia 2016 przez HaKIM Szeryf (87,590 p.)
edycja 3 sierpnia 2016 przez HaKIM

Pytanie do bazy danych jak na moje oko jest źle sformułowane.

Powinno być:

		$login = $_POST['login'];
		$password = $_POST['password'];
		
		$sql = "SELECT * FROM easyearn WHERE user='$login' AND password='$password'"; // pytanie
		$wynik= $pdo->query($sql); //zapytanie do bazy //tutaj coś nie działa bo wynik zwraca że nie działa

Gdyby zwracał jakiś błąd z tymi zmiennymi, dodaj je w '' albo ``. 

komentarz 3 sierpnia 2016 przez ThePatrykOOO Dyskutant (8,400 p.)

to nic nie zmieniłosad

komentarz 3 sierpnia 2016 przez HaKIM Szeryf (87,590 p.)

Pytanie z innej beczki:

		
			if($wynik == false) //próba logowania
			{
				while($a = $wynik->fetch_assoc())
				{
					$user = $a['login'];
					echo $user;
					$wynik ->free_result();
				}
			}
			else //nie udana próba logowania
			{
				echo "nie udało ci się zalogować"; // to wyskakuje mi 
			}

Nie sądzisz że jeżeli coś zwraca false, a Ty próbujesz z niego coś zrobić to jest to coś... dziwnego?

if($wynik == false) //próba logowania

Jak na moje to true, jeżeli true, to wykonaj ten kod:

				while($a = $wynik->fetch_assoc())
				{
					$user = $a['login'];
					echo $user;
					$wynik ->free_result();
				}

https://pl.wikibooks.org/wiki/PHP/Biblioteka_PDO - Przeczytaj. Napisz skrypt od nowa. Powinno pomóc.

komentarz 3 sierpnia 2016 przez ThePatrykOOO Dyskutant (8,400 p.)
nie wiem co to miało niby zrobić ale jest to samo i niby w czym to pomóc bo już to testowałem i nic się nie zmieniło oprócz tego że dodałeś assoc
komentarz 3 sierpnia 2016 przez HaKIM Szeryf (87,590 p.)
Nie dodałem. To Twój kod. https://pl.wikibooks.org/wiki/PHP/Biblioteka_PDO - Przeczytaj. Nie widzę sensu dłuższej rozmowy. Po prostu przeczytaj, choćby sam kod.
komentarz 3 sierpnia 2016 przez writen Nałogowiec (29,060 p.)

Gdyby zwracał jakiś błąd z tymi zmiennymi, dodaj je w '' albo ``. 

Powiedz, że ty tak na serio? Te zmienne muszą być w apostrofach, bo zostaną podmienione na stringi, a stringi w SQL zapisujemy właśnie w apostrofach. Inna sprawa gdyby użył prepared statements.

Natomiast odwrócony apostrof (`) używany jest do zapisu nazw (nie wartości), które mogą być słowami kluczowymi.

Można powiedzieć, że zapytanie było skonstruowane poprawnie, tylko przy zmiennej password zabrakło znaku $.

 

nie wiem co to miało niby zrobić ale jest to samo i niby w czym to pomóc bo już to testowałem i nic się nie zmieniło oprócz tego że dodałeś assoc

A ty jeśli nie rozumiesz własnego kodu, to zacznij naukę od jakichś prostych ćwiczeń. Np. operacje na zmiennych, instrukcje warunkowe, pętle?

komentarz 3 sierpnia 2016 przez HaKIM Szeryf (87,590 p.)
Dzięki, writen.

Zawsze mi się pierdzieliło kiedy korzystać z ` czy '.
komentarz 3 sierpnia 2016 przez writen Nałogowiec (29,060 p.)
Nie ma problemu ;)
0 głosów
odpowiedź 3 sierpnia 2016 przez jpacanowski VIP (101,940 p.)

Mylisz MySQLi z PDO...

nie
$wynik->fetch_assoc()

tylko
$wynik->fetch()

komentarz 3 sierpnia 2016 przez ThePatrykOOO Dyskutant (8,400 p.)
to samo nie działa
komentarz 3 sierpnia 2016 przez ThePatrykOOO Dyskutant (8,400 p.)
a po za tym to już sprawdzałem

Podobne pytania

–1 głos
1 odpowiedź 215 wizyt
pytanie zadane 1 października 2017 w PHP przez Thorwaldsen Początkujący (250 p.)
0 głosów
2 odpowiedzi 187 wizyt
pytanie zadane 28 grudnia 2015 w SQL, bazy danych przez ormu16 Gaduła (4,980 p.)
0 głosów
0 odpowiedzi 112 wizyt
pytanie zadane 25 sierpnia 2018 w PHP przez Szymon hciećwiedzieć Początkujący (330 p.)

92,565 zapytań

141,418 odpowiedzi

319,602 komentarzy

61,951 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!

...