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: