2013-09-29 4 views
0

Я хочу добавить простой скрипт «login/logout» на мой веб-сайт, но он не работает.

<?php if(isset($_POST["signin"])){ 
       session_start(); 
       $username=stripslashes($_POST["username"]); 
       $password=stripslashes($_POST["password"]); 
       $username = mysql_real_escape_string($username); 
       $password = mysql_real_escape_string($password); 
       $nom=checkUser($username, $password); 
       if(!$nom=="") 
        { 
         $_SESSION['name'] = $nom; 
         header("location:account.php"); 
        } 
        else { 
         echo 'WRONG USERNAME OR PASSWORD';} 
      }?> 

сценарий выше header.php, что означает, что он включен в каждую страницу; теперь вот страница «account.php»

<?php if(isset($_SESSION['name'])) 
    { 
    include('header.php'); 
     echo' 
       </article> 
        <article class="col1 pad_left1"> 

       <p>Bienvenue '.$_SESSION['name'].'</p> 
      </article> 
       </header> 
      </div>'; 
     include('footer.php');} 
    header("location:index.php"); 
    ?> 

Проблема заключается в том, что я всегда получаю к index.php, даже если я вошел как если этот тест if(isset($_session['name'])) всегда ложно.

+2

Не нужно кричать. – TheWolf

+0

Начните сеанс в верхней части заголовка. –

+0

где находится session_start(); ? –

ответ

2

Вы должны начать сеанс на каждой странице вверху по

session_start(); 

вероятно вам не хватает этого.

+0

Я РАЗМЕЩАЛ СЕССИЮ НАЧАЛА НА ВЕРХНЕЙ ЧАСТИ HEADER.PHP И ЭТА СТРАНИЦА ВКЛЮЧЕНА В КАЖДОЙ СТРАНИЦЕ ЕЩЕ ОДНА ЖЕ ПРОБЛЕМА – user2507171

+0

Включено, да. Но он включен после попытки доступа к '$ _SESSION'. Вам нужно сначала либо включить 'header.php', либо вызвать' session_start() ', а затем использовать' if (isset ($ _ SESSION ['name']) '. – TheWolf

+0

, даже если у меня есть такая же проблема – user2507171

3

Я думаю, вы скорее захотите использовать if($nom!=""), чем if(!$nom==""). Кроме того, вы должны позвонить session_start(), прежде чем сможете использовать $_SESSION (в данный момент вы делаете это наоборот).

+0

У ВСЕЙ ИМЕЕТСЯ ЖЕ ЖЕ ПРОБЛЕМА ДАЖЕ ПОСЛЕ ИЗМЕНЕНИЯ – user2507171

+1

Еще раз, не нужно кричать. Мы прекрасно понимаем вас без замка. – TheWolf

+1

Простите, что это не кричит. У меня есть небольшая проблема с моя клавиатура - это все – user2507171

0

Попробуйте добавить session_start(); before if (isset ($ _ SESSION ['name'])) и проверьте, что это пустые строки в ваших файлах вверху и в конце.

Смежные вопросы