Автор Тема: Влязох в профила и сега няма излизане...  (Прочетена 615 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

puzzelbrain

  • Sr. Member
  • ****
  • Благодарности
  • -Казани: 21
  • -Получени: 3
  • Публикации: 275
Здравейте. Проблема е следен:
Имаме index.php изглеждащ така:
Код: PHP
  1. <?php
  2. include_once ('./model/User.php');
  3. ?>
  4.  
  5. <?php
  6.  
  7.         $User = new User();
  8.         iif($_COOKIE["login"] == "true"){
  9.             $User->redirect("view/home.php");
  10.         }
  11.         if($_POST['send'] == "true"){
  12.            
  13.            
  14.             $username = mysqli_real_escape_string($User->connect(),$_POST['user']);
  15.             $password = mysqli_real_escape_string($User->connect(),$_POST['password']);
  16.              
  17.            
  18.             if($User->logIn($username, $password)){
  19.                 if(isset($_POST['remember'])){
  20.                     $expiry = 2147483647;
  21.                 }else{
  22.                     $expiry = time()+60*60*24;
  23.                 }
  24.                
  25.                 $sql = "SELECT `id` FROM `users` WHERE `username` = '".$username."'";
  26.                 $id = $User->execute($sql);
  27.                 setcookie("login", "true", $expiry);
  28.                 setcookie("userid", $id["id"], $expiry);
  29.                 $User->redirect("view/home.php");
  30.             }else{
  31.                 $err = "Wrong Username or Password";
  32.             }
  33.            
  34.         }
  35.     ?>
  36. <form method="post" action="index.php">
  37.         <input type="text" name="user" placeholder="Username" required="required" />
  38.         <input type="password" name="password" placeholder="Password" required="required" />
  39.         <input type="checkbox" name="remember" value="true" checked> Запомни ме
  40.         <input type="hidden" name="send" value="true">
  41.         <button type="submit" class="btn btn-primary btn-block btn-large">Вход</button>
  42.     </form>
  43.  

Имаме logout.php, който близко до акъла трябва да те "отпише", но не се случват нещата. Към момента той изглежда тъй:

Код: PHP
  1. <?php
  2. include_once '../model/User.php';
  3. setcookie("login", "false", time() - 2147123123483647);
  4. $User = new User();
  5. $User->redirect("../index.php");
  6.  
  7.  
Когато в loguot.php дам echo $_COOKIE["login"]; резулатът е true... При $_COOKIE["login"] = "false"; Бисквитата вече е false, но пак минава проверката if($_COOKIE["login"] == "true");
Опитах и с unset(); и с още няколко варианта от интернет - НИЩО. Като отворя logout.php ме праща в index.php, от там "ми казва", че биквитката още не е изтекла и ме пренасочва в home.php. Когато разкарам от index.php
Код: PHP
  1. <?php
  2. if($_COOKIE["login"] == "true"){
  3.             $User->redirect("view/home.php");
  4.         }


« Последна редакция: 03 Март 2017, 22:24:20 от puzzelbrain »
Подай виното там.

HanKrum

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 120
  • -Получени: 73
  • Публикации: 996
  • Кибик
Re: Влязох в профила и сега няма излизане...
« Отговор #1 -: 06 Март 2017, 09:53:15 »
1. Не ползвай echo за проверка на променливи, а var_dump - тя ще ти даде и типа данни !!!
2. "false" == true !!!
3. "false" === false !!!
"Силата на правителството се крепи на невежеството на народа, и те знаят това и винаги ще се борят против просвещението." Лев Толстой