¿Que valor contiene $password?
Código PHP:
function login_check($mysqli)
{
// Revisa si todas las variables de sesión están configuradas.
if(isset($_SESSION['user_id'], $_SESSION['username'], $_SESSION['login_string']))
{
$user_id = $_SESSION['user_id'];
$login_string = $_SESSION['login_string'];
$username = $_SESSION['username'];
// Obtiene la cadena de agente de usuario del usuario.
$user_browser = $_SERVER['HTTP_USER_AGENT'];
if($stmt = $mysqli->prepare("SELECT password FROM clientes WHERE username = ? LIMIT 1"))
{
// Uneix “$user_id” al paràmetre.
$stmt->bind_param('s', $username);
$stmt->execute(); // Ejecuta la consulta preparada.
$stmt->store_result();
if($stmt->num_rows == 1)
{
// Si el usuario existe, obtiene las variables del resultado.
$stmt->bind_result($password); // <--------- $password ¿que valor trae?
$stmt->fetch();
$login_check = hash('sha512', $password . $user_browser);
//...