Edit: Wszelkie rozwiązania co do szyfrowania MD5 znajdziecie w komentarzach poniżej (szczególnie na końcu).
Mam takie coś:
<?php
session_start();
if((!isset($_POST['login'])) || (!isset($_POST['password'])))
{
header("Location: index.php");
exit();
}
require_once "includes/dbconnect.php";
$connect = @new mysqli($host, $db_user, $db_password, $db_name); //otwieranie polaczenia z baza danych
if ($connect->connect_errno!=0)
{
echo "Error: ".$connect0->connect_errno;
}
else
{
$login = $_POST['login'];
$password = md5($_POST['password']);
$login = htmlentities($login, ENT_QUOTES, "UTF-8"); //anty-wstrzykiwanie sql
$sql = "SELECT * FROM users WHERE login='$login' AND password='$password'";
/*$result = $connect->query("SELECT * FROM users WHERE password = '$password'");
* if(!$result)
* {
* echo 'Nie można uruchomić zapytania: ' . mysql_error();
* exit;
* }
* $row = mysql_fetch_row($result);
*
* echo $row[0]; // 42
* echo $row[1];
*/
if($result = @$connect->query(
sprintf("SELECT * FROM users WHERE login='%s' AND password='%s'", //anty-wstrzykiwanie sql
mysqli_real_escape_string($connect,$login), //anty-wstrzykiwanie sql
mysqli_real_escape_string($connect,$password)))) //anty-wstrzykiwanie sql
{
$number_users = $result->num_rows;
if($number_users>0)
{
$_SESSION['loggedin'] = true;
$row = $result->fetch_assoc();
$_SESSION['id'] = $row['id'];
$_SESSION['user'] = $row['login'];
unset($_SESSION['blad']);
$result->close();
header('Location: index.php');
}
else
{
$_SESSION['blad']='<span class = "error">Wrong login or password!</span>';
header('Location: index.php');
}
}
$connect->close(); //zamykanie polaczenia (MUSI BYC W ELSIE, BO POZA NIM WYGENEROWALOBY OSTRZERZENIE)
}
?>
W bazie hasła są zaszyfrowane w md5. Przy podawaniu hasła i loginu w systemie logowania... Nic się nie dzieje.
Jak mam pobrać dane z bazy, które są zaszyfrowane w md5?
// Mam jeszcze dodatkowo pobrać informacje z bazy danych typu "SELECT * FROM ..."?