2012-07-01 2 views
0

Я считаю, что я делаю это правильно, но он не получает сохраненную информацию печеньяПроблемы с SetCookie

login.php

session_start(); 
     $_SESSION['username'] = $user; 
     $_SESSION['password'] = $pass; 
      if(isset($_POST['remmemberme'])) 
    { ob_start(); 
     setcookie("kitbusername", $_SESSION['username'], time()+60*60*24*100); 
     setcookie("kitbpassword", $_SESSION['password'], time()+60*60*24*100); 
     echo '<script> 
     window.top.location.href = "index.php"; 
     </script>'; 
    } 

index.php

<p class="welcome">Hello 
     <?php 
session_start(); 
if($_COOKIE['kitbusername']){echo $_SESSION['username'];} 
       elseif($_SESSION['username']){ 
         echo $_COOKIE['kitbusername']; 
       } else{ 
        echo 'Guest'; 
            }?> 
</p> 

header.php

<?php session_start(); 
if(isset($_SESSION['username']) || isset($_COOKIE['kitbusername'])){ 
//Log Out Button// ?> 

sessi на старте устанавливается на всех страницах

+0

- это то, что правильный формат для setcookie() – kezi

ответ

1

Вы не использовали session_start() на index.php

После вызова ob_start() вы называете ob_end_clean(), ob_end_flush(), ob_clean() или ob_flush()?

+0

указан на странице – kezi

+0

нет, не могли бы вы объяснить, что это значит? – kezi

+0

Если вы не знаете, что они означают, вы, вероятно, не собираетесь использовать 'ob_start()'. Но это те функции, которые вы вызываете * после * вызова 'ob_start()', все из которых управляют буферизацией вывода. Вам, вероятно, не нужно делать это в своем скрипте. –