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

question-closed Nie działa. Problem sprintf.

Object Storage Arubacloud
+1 głos
262 wizyt
pytanie zadane 10 sierpnia 2016 w SQL, bazy danych przez SebbaGamess Użytkownik (690 p.)
zamknięte 17 sierpnia 2016 przez SebbaGamess

Mam problem. Zrobiłem na swojej stronie panel logowania i wszystko działało dopóki w kodzie nie dałem linijki z sprintf, bo gdy loguję się używając prawdziwych danych wyskakuje mi błąd że wpisałem złe dane, a przed dodaniem sprintf wszystko działało.

Oto kod z pliku logowania:

<?php
	session_start();
	
	if((!isset($_POST['login'])) && (!isset($_POST['password'])))
	{
		header('Location: /survgame/login.php');
		exit();
	}
	
	require_once "db_connect.php";
	
	$connect = @new mysqli ($db_host, $db_user, $db_pass, $db_name);
	
	if($connect->connect_errno!=0)
	{
		echo "Error: ".$connect->connect_errno;
	}
	else
	{
		$login = $_POST['login'];
		$password = $_POST['password'];
		
		$login = htmlentities($login, ENT_QUOTES, "UTF-8");
		$password = htmlentities($password, ENT_QUOTES, "UTF-8");
		
		$sql = "SELECT * FROM users WHERE login='$login' AND password='$password'";
		
		if($connect_veryfication = @$connect->query(sprintf("SELECT * FROM users WHERE login='%s' AND password='%s'", mysql_real_escape_string($connect,$login),mysql_real_escape_string($connect,$password))))
		{
			$users_number = $connect_veryfication->num_rows;
			if($users_number>0)
			{
				unset($_SESSION['notlogin']);
				$_SESSION['loginin'] = true;
				$list = $connect_veryfication->fetch_assoc();
				
				$_SESSION['points'] = $list['points'];
				
				$connect_veryfication->close();
				header('Location: /survgame/index.php');
			}
			else
			{
				$_SESSION['notlogin'] = '<span style="color: red">Podales zly login lub haslo</span>';
				header('Location: /survgame/login.php');
			}
		}
		
		$connect->close();
	}
	
?>

Oto zdjęcie bazy danych:

komentarz zamknięcia: Problem rozwiązane
komentarz 10 sierpnia 2016 przez jpacanowski VIP (101,940 p.)

login, password oraz email jako TEXT ??!

https://www.astcon.pl/optymalizacja_bazy_danych_mysql.php

komentarz 10 sierpnia 2016 przez SebbaGamess Użytkownik (690 p.)
Na razie tak będzie. Jednak gdy wszystko będzie działać to zmienię to.
komentarz 10 sierpnia 2016 przez DL TD Nałogowiec (36,710 p.)
Bezsensu xD
komentarz 10 sierpnia 2016 przez jpacanowski VIP (101,940 p.)
Ok, powodzenia.

1 odpowiedź

+3 głosów
odpowiedź 10 sierpnia 2016 przez Comandeer Guru (601,590 p.)
wybrane 17 sierpnia 2016 przez SebbaGamess
 
Najlepsza
Polecam poczytać o prepared statements. Po prostu.
komentarz 10 sierpnia 2016 przez SebbaGamess Użytkownik (690 p.)
I co to mi da?
komentarz 10 sierpnia 2016 przez Comandeer Guru (601,590 p.)

Pozbędziesz się problemu ze sprintf i faktycznie zabezpieczysz zapytanie.

komentarz 10 sierpnia 2016 przez xandros Nałogowiec (29,450 p.)
Gdzieś już taki kod widziałem :D

Nad czymś "podobnym" pracowałem wczoraj.

Masz tutaj połączenie z bazą: https://github.com/xandros15/cr-pasjainformatyki-php-2/blob/master/backend/Database.php

I ładowanie usera do zmiennej: https://github.com/xandros15/cr-pasjainformatyki-php-2/blob/master/backend/config/routing.php#L41-L47

Przeanalizuj kod i pomyśl, jak możesz poprawić swój.
komentarz 10 sierpnia 2016 przez SebbaGamess Użytkownik (690 p.)
Wszytko było by fajne gdybym rozumiał co tam jest napisane. Jestem początkującym programistą i nie wiem jak to wszystko tam działa.
komentarz 10 sierpnia 2016 przez xandros Nałogowiec (29,450 p.)

Przeanalizuj kod i pomyśl, jak możesz poprawić swój.

No dobra, rozumiem, że RTFM może być zbyt trudne. Napisz mi na PV czego dokładnie nie rozumiesz w tym kodzie, bo nie chcę spamować wątku.

Podobne pytania

0 głosów
1 odpowiedź 532 wizyt
pytanie zadane 16 listopada 2022 w PHP przez zbiku25 Bywalec (2,940 p.)
0 głosów
0 odpowiedzi 85 wizyt
pytanie zadane 19 lutego 2020 w Mikrokontrolery przez Mavimix Dyskutant (8,390 p.)
+1 głos
1 odpowiedź 175 wizyt

92,579 zapytań

141,432 odpowiedzi

319,662 komentarzy

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

...