Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Przedszkole _ [MySQL][PHP]Problem z logowaniem

Napisany przez: GoodStuff 20.02.2015, 10:37:27

Mam pewien problem z logowaniem, mianowicie gdy wpisuje obojętnie jakie dane również przechodzi do strony z zalogowanym użytkownikem bez danych. Co z tym zrobić?

  1. $login = http://www.php.net/htmlspecialchars($db->real_escape_string($_POST['login']));
  2. $pass = $db->real_escape_string($_POST['pass']);
  3.  
  4. if($_POST['send'] == 1){
  5. if(!$login or http://www.php.net/empty($login)){
  6. http://www.php.net/die('<p class="error">Wypełnij pole z loginem!</p>');
  7. }
  8.  
  9. if(!$pass or http://www.php.net/empty($pass)){
  10. http://www.php.net/die('<p class="error">Wypełnij pole z hasłem!</p>');
  11. }
  12.  
  13. if ($_GET['login'] != '') { //jezeli ktos przez adres probuje kombinowac
  14. http://www.php.net/exit;
  15. }
  16. if ($_GET['haslo'] != '') { //jezeli ktos przez adres probuje kombinowac
  17. http://www.php.net/exit;
  18. }
  19.  
  20. $pass = user::passSalter($pass);
  21.  
  22. $userExists = mysqli_fetch_array($db->query("SELECT COUNT(*) FROM `users` WHERE `login` = '$login' AND `pass` = '$pass'"));
  23.  
  24. if($userExists == 0){
  25. http://www.php.net/echo '<p class="error">Użytkownik o podanym loginie i haśle nie istnieje.</p>';
  26. }else{
  27. $user = user::getData($login, $pass);
  28.  
  29. $_SESSION['login'] = $login;
  30. $_SESSION['pass'] = $pass;
  31. $db->query("UPDATE `users` SET `logtime` = NULL WHERE `login` = '$login' AND `pass` = '$pass");
  32. http://www.php.net/echo '<p>Zostałeś zalogowany. Możesz przejść na <a href="index.php">stronę główną</a></p>';
  33. http://www.php.net/header('Location: '.$_SERVER['REQUEST_URI']);
  34. }
  35. }
  36. http://www.php.net/echo'
  37. <form method="post" action="">
  38. <label for="login">Login:</label>
  39. <input type="text" name="login" maxlength="32" id="login" />
  40. <br />
  41. <label for="pass">Hasło:</label>
  42. <input type="password" name="pass" maxlength="32" id="pass" /><br />
  43.  
  44. <input type="hidden" name="send" value="1" />
  45. <input type="submit" value="" class="selected_btn" />
  46. </form>';
  47. http://www.php.net/echo '<p>Nie jesteś zalogowany.<br /><a href="register.php">Zarejestruj</a> jeśli jeszcze nie masz konta.</p>';
  48. }

Napisany przez: nospor 20.02.2015, 10:48:22

var_dump($userExists);
a moze doznasz olsnienia i zastanowisz sie czemu warunek
if($userExists == 0){
jest bez sensu

Napisany przez: GoodStuff 20.02.2015, 11:41:24

Racja wielkie dzięki ! Można zamknąć.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)