jak na mój gust to jest wszystko w porządku, jak poprawię
<?php
class user {
public $user;
private $pass;
public function checkuser() {
// $pdo = new pdo ('mysql:host=localhost;dbname=trial','root','mentormiszcz1e');
// $row= $pdo-> query ("SELECT user,password FROM heh");
//
// while ($line= $row-> fetch()) {
$this-> user= $line['user'];
$this-> pass= $line['password'];
$this-> user= 'login';
$this-> pass
= md5('haslo');
if ($this->user== $_POST['user'] && $this-> pass
== md5($_POST['pass'])) { $_SESSION['user']= TRUE;
header ("Location: protect.php"); }
else {
header ("Location: log.html"); }
// } // end while
// $row-> closeCursor();
} // end function
}
$user= new user;
$user-> checkuser();
?>
Działa dla tych danych, więc wnioskuję że masz coś źle zrobione z bazą danych, pokaż 1 rekord i podaj jakie powinno być hasło. Może źle Ci coś zaszyfrowało je?
Ewentualnie może nie są w ogóle w bazie szyfrowane, więc możesz spróbować usunąć md5($_POST['pass']) a zostawić samo $_POST['pass'].
Dla danych wpisanych w program działa...
Spróbuj jeszcze zrobić taki skrypcik:
<?php
$pdo = new pdo ('mysql:host=localhost;dbname=trial','root','mentormiszcz1e');
$row= $pdo-> query ("SELECT user,password FROM heh");
while ($line= $row-> fetch()) {
echo $line['user'].' '.$line['password'].'<br />';
} // end while
$row-> closeCursor();
?>
i zobaczysz co się pojawia w odpowiedzi na takie zapytanie.