2015-08-17 3 views
0

Я создаю функцию входа для веб-сайта, и у меня возникла проблема с записью информации пользователя в $_SESSION['user']. Я попытался вставить некоторые операторы print_r для просмотра как переменной $user, так и $_SESSION['user'] внутри функции входа в систему, и она, кажется, содержит данные пользователя, но когда я смотрю на массив еще, на моем сайте нет ничего в массиве $_SESSION['user'].Создание функции входа в систему

У меня есть start_session() в верхнем модуле всех моих страниц.

Использование текстового файла с разделителями только для образца и не будет использоваться.

Это как функция записывает пользовательские данные сессии, но уничтожить себя, как только функция завершает

Любые советы приветствуются

function login($filename, $email, $password) { 
$lines = file($filename); 
$headings = array(); 
$user = array(); 

foreach ($lines as $l => &$line) { 
    debug_to_console("login attempt " . $l); 

    $cells = explode("\t", trim($line)); 

    foreach ($cells as &$cell) { 
     $cell = trim($cell); 
     // remove whitespace 
     $cell = str_replace(array('\'', '"'), '', $cell); 
     //remove unwanted characters 
    } 
    if ($l == 0) { 
     $headings = $cells; 
    } else { 
     if ($cells[2] == $email)//check username 
     { 
      if ($cells[3] == $password)// check password 
      { 
       foreach ($cells as $c => &$cell)// set up array of data lines 
       { 
        $user[$headings[$c]] = $cell; 
       } 
       debug_to_console("Login Successful"); 
       $_SESSION['user'] = $user; 
       return true; 
      } 
     } else { 
      debug_to_console("no match"); 
     } 
    } 
} 
return false; 
} 
+1

Добавили ли вы 'session_start();' как первую строку своей страницы? –

+0

, где вы запустили сеанс: session_start(); – amit

+0

текстовое файловое имя пользователя/пароль? * scary * –

ответ

0

Вам нужно добавить session_start(); (обычно в качестве первой линии) в каждая страница, на которой вы пытаетесь получить доступ/редактировать/удалять сеанс. Если вы его не пишете, ваш PHP не использует созданную вами сессию.

+0

Я поместил мою функцию входа в систему до моего верхнего модуля, содержащего мой session_start(), спасибо за помощь – Phill360

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