Mam dziwny problem. Wszystko niby chodzi, sprawdza warunek czy z nazwa i hasło z bazy zgadzają z tymi z formularza, ale zamiast przenosić headerem do strony chronionej zostaje w pliku z obsługą logowania. Co jest nie tak z tym? Powiem jeszcze jedno że jak usunę z zapytania WHERE itd. to loguje użytkownika o ostatnim id w bazie, ale to chyba normalne bo nie ma konkretnego zapytania. Jakby co korzystam z OPD żeby cache'ować zapytania.

  1. <?php
  2.  
  3. require ("opd.class.php");
  4.  
  5. class user {
  6.  
  7. public $user;
  8. private $pass;
  9.  
  10. public function checkuser() {
  11.  
  12. $pdo = opdClass::create(array(
  13. 'dsn'=> 'mysql:host=localhost;dbname=oop',
  14. 'user'=> 'root',
  15. 'password'=> 'mentormiszcz1e',
  16. 'cache'=> 'cache/opd/',
  17. 'debugConsole'=> true));
  18.  
  19. $pdo-> setCacheExpire(60, 'trials');
  20. $row= $pdo-> query ("SELECT name,password FROM `trials` WHERE name= '".$_POST['user']."' AND password= '".$_POST['pass']."'");
  21.  
  22. while ($line= $row-> fetch()) {
  23.  
  24. $this-> user= $line['name'];
  25. $this-> pass= $line['password'];
  26.  
  27. if ($this->user== $_POST['user'] && $this-> pass== md5($_POST['pass'])) {
  28. $_SESSION['user']= $_POST['user'];
  29. header ("Location: protect.php");
  30. }
  31. else {
  32. header ("Location: log.html");
  33. }
  34.  
  35. } // end while
  36.  
  37. $row-> closeCursor();
  38.  
  39. } // end function
  40.  
  41. }
  42.  
  43. $user= new user;
  44. $user-> checkuser();
  45.  
  46. ?>

  1. <?php
  2.  
  3.  
  4. if (isset($_SESSION['user'])) {
  5. echo 'Yo, ' . $_SESSION['user'] . '<a href="logout.php">Sign out</a>';
  6. }
  7.  
  8. else {
  9. header ("Location: log.html");
  10. }
  11.  
  12. ?>


  1. <!DOCTYPE html
  2. PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en-us">
  5. <title>Title</title>
  6. </head>
  7.  
  8. <form action="class.php" method="post">
  9. <div id="form">
  10. <input type="text" name="user" />
  11. <input type="password" name="pass" />
  12. <input type="submit" value="Sign in" />
  13. </div>
  14. </form>
  15.  
  16. </body>
  17. </html>