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

Problem z PHP+MySQL, System Logowania.

Object Storage Arubacloud
0 głosów
334 wizyt
pytanie zadane 16 września 2015 w SQL, bazy danych przez Charmind Obywatel (1,020 p.)
Mam problem z działanie kodu poniżej. Mianowicie robiłem system Logowania, (Zgodnie z poradnikiem, dodałem tylko kilka zabezpieczeń przed botami i kilka przekierowań do strony głównej) a gdy kod się "odpala", wtedy dochodzi do komendy "echo $ilu_userów" i wyświetla 0 (w bazie danych są dane gracza, a dane podane do logowanie są poprawne, więc powinno pisać "1") z tego powodu też nie wykonuje następnego "if'a" ALE taż nie wykonuje przekierowania. Może wiecie czym jest to spowodowane? Najbardzie chodzi mi o to z bazą danych.

<?php

	session_start();
	
	$Nazwa = $_POST['Nazwa'];
	$Haslo = $_POST['Haslo'];
	if((($_COOKIE['num1'] + $_COOKIE['num2']) == $_POST['Dane']))
	{
		require_once"Connect.php";
		$polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
		if($polaczenie->connect_errno!=0)
		{
			echo "Error: ".$polaczenie->connect_errno."Opis: ".$polaczenie->connect_error;
		}
		else
		{
			$Nazwa = $_POST['Nazwa'];
			$Haslo = $_POST['Haslo'];
			
			$sql = "SELECT * FROM `Uzytkownicy` WHERE Nazwa='$Nazwa' AND Haslo='$Haslo'";
			if($rezultat = @$polaczenie->query($sql))
			{
				$ilu_userow = $rezultat->num_rows;
				echo $ilu_userow;
				if($ilu_userow>0)
				{
					echo "1";
					$wiersz = $rezultat->fetch_assoc();
					$user = $wiersz['Nazwa'];
					$rezultat->free();
					$_SESSION['Nazwa'] = $user;
				}
				
			}
			
			$polaczenie->close();
			header('Location: index.php');
		}
	}
	else
	{
		header('Location: index.php');	
	}

?>

 

3 odpowiedzi

+1 głos
odpowiedź 17 września 2015 przez Ehlert Ekspert (212,670 p.)
wybrane 19 września 2015 przez Charmind
 
Najlepsza
$sql = "SELECT * FROM `Uzytkownicy` WHERE Nazwa='$Nazwa' AND Haslo='$Haslo'";

albo

$sql = "SELECT * FROM `Uzytkownicy` WHERE Nazwa='".$Nazwa."' AND Haslo='".$Haslo."';"

Nawet składnia zmienia kolor.

0 głosów
odpowiedź 16 września 2015 przez event15 Szeryf (93,790 p.)

$polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);

if($rezultat = @$polaczenie->query($sql))

Ble!

 Przez takie gówniane zapisy nie masz pojęcia, co się dzieje z połączeniem.

komentarz 17 września 2015 przez Comandeer Guru (601,110 p.)
Dodajmy do tego całkowity brak filtrowania zmiennych z zewnątrz.
komentarz 17 września 2015 przez Charmind Obywatel (1,020 p.)
Chodzi o to że "wyciszyłem" powiadomienia o błędach?
komentarz 17 września 2015 przez gromula Stary wyjadacz (10,070 p.)

Mam problem z działanie kodu poniżej. Mianowicie robiłem system Logowania, (Zgodnie z poradnikiem, dodałem tylko kilka zabezpieczeń przed botami i kilka przekierowań do strony głównej) a gdy kod się "odpala", wtedy dochodzi do komendy "echo $ilu_userów" i wyświetla 0 (w bazie danych są dane gracza, a dane podane do logowanie są poprawne, więc powinno pisać "1") z tego powodu też nie wykonuje następnego "if'a" ALE taż nie wykonuje przekierowania. Może wiecie czym jest to spowodowane? Najbardzie chodzi mi o to z bazą danych 

 

Mogłeś tego nie wrzucać w kod :D

komentarz 17 września 2015 przez Comandeer Guru (601,110 p.)
Za wyciszanie błędów zamiast ich obsługi i za niefiltrowanie danych aplikacje sieciowe mszczą się na swoich stwórcach - więc uważaj!
komentarz 17 września 2015 przez Charmind Obywatel (1,020 p.)
Wyciszanie wyłączyłem. I nadal nic więcej się nie dowiedziałem.
komentarz 17 września 2015 przez event15 Szeryf (93,790 p.)
No skoro wyciszyłeś powiadomienia, to się nie dowiesz czemu nie działa. W sumie my też.

var_dumpnij sobie results
komentarz 17 września 2015 przez event15 Szeryf (93,790 p.)
wykonaj sobie polecenie sql bezposrednio na bazie i zobacz co tam zwraca bo moze rzeczywiscie 0 :)
komentarz 17 września 2015 przez Charmind Obywatel (1,020 p.)
Nie, baza zwróciła 1
0 głosów
odpowiedź 19 września 2015 przez Charmind Obywatel (1,020 p.)
Już wszystko działa (-; Problem był w niepoprawnym sklejaniu znaków (tak jak napisał w drugim przykładzie Ehlart), teraz gdy już wszystko działa moja prawie 50 plikowa strona jest już gotowa, jeśli możecie, to poleccie mi jakiś dobry hosting ;D

Podobne pytania

0 głosów
1 odpowiedź 606 wizyt
0 głosów
4 odpowiedzi 1,469 wizyt
pytanie zadane 23 września 2015 w PHP przez WWOTEX Mądrala (6,200 p.)
0 głosów
3 odpowiedzi 203 wizyt
pytanie zadane 27 października 2015 w SQL, bazy danych przez cookie Nowicjusz (120 p.)

92,568 zapytań

141,420 odpowiedzi

319,617 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!

...