Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Logowanie oparte na PDO
Forum PHP.pl > Forum > Przedszkole
Szagii
Witam,
Postanowiłem ogarnąć PDO, napisałem system logowania, ale mam pewien problem.
header('Location: adres') mnie nie przekierowuje, a zostaje w pliku.
Przeglądałem już kilka tematów na forum i nic mi nie pomogło, domyślałam się że w ostatnim if'ie jest coś nie tak, ale nie mam pojęcia co.
Jakaś podpowiedź?

Z góry dzięki biggrin.gif

CODE
<?php

session_start();

require_once "db.php";

if(isset($_POST['login'])){

$login = $_POST['login'];
$pass = md5($_POST['pass']);

$stmt = $dbh->prepare('SELECT * FROM users WHERE login=:login AND pass=:pass');
$stmt->bindValue(':login', $login, PDO::PARAM_STR);
$stmt->bindValue(':pass', $pass, PDO::PARAM_STR);

$stmt -> execute();

$result = $stmt->fetch();

if($result == 1){
$_SESSION['user'] = $login;
header('Location: panel.php');
}



}
?>
viking
var_dump($result) nad ifem. Zamiast md5 http://php.net/manual/en/function.password-hash.php / verify
Szagii
Cytat(viking @ 25.11.2016, 13:29:41 ) *
var_dump($result) nad ifem. Zamiast md5 http://php.net/manual/en/function.password-hash.php / verify


Poprawione, teraz wyskakuje bool(false)

CODE
<?php

session_start();

require_once "db.php";

if(isset($_POST['login'])){

$login = $_POST['login'];
$pass = password_hash(($_POST['pass']), PASSWORD_DEFAULT);

$stmt = $dbh->prepare('SELECT * FROM users WHERE login=:login AND pass=:pass');
$stmt->bindValue(':login', $login, PDO::PARAM_STR);
$stmt->bindValue(':pass', $pass, PDO::PARAM_STR);

$stmt -> execute();

$result = $stmt->fetch();

var_dump($result);

if($result == 1){
$_SESSION['user'] = $login;
header('Location: panel.php');
}

}
?>
viking
Poprawione i co zwrócił var_dump dla md5. No na pewno nie 1. Dla password_hash najpierw masz zapisać w ten sposób hasło do bazy, przy logowaniu password_verify pobranego hasha z bazy i hasła z formularza.
Szagii
Cytat(viking @ 25.11.2016, 14:06:50 ) *
Poprawione i co zwrócił var_dump dla md5. No na pewno nie 1. Dla password_hash najpierw masz zapisać w ten sposób hasło do bazy, przy logowaniu password_verify pobranego hasha z bazy i hasła z formularza.



Działa, dzięki wielkie biggrin.gif
Temat do zamknięcia.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.