проблема с сессией

Тема в разделе "PHP", создана пользователем rasandrey, 18 фев 2011.

Модераторы: latteo
  1. rasandrey

    rasandrey

    Регистр.:
    2 апр 2009
    Сообщения:
    214
    Симпатии:
    6
    В общем, не понятно что творится:

    Работаю на денвере - все ок, проблем нет. Перенес на хостинг (уже несколько испробовал) проблема такая:

    Авторизация пользователя с выборкой данных из БД. После авторизации массив $_SESSION имеет такой вид :
    PHP:
    Array ( [entered] => [id] => [name] => Андрей [tel] => +38063432343 
    После перехода по любой ссылке имеет вид:
    PHP:
    Array ( [entered] => [id] => Array ( [0] => ) [name] => Андрей [tel] => +38063432343 
    а в дальнейшем и вовсе пропадает значение из $_SESSION['id']

    PHP:
    Array ( [entered] => [id] => [name] => Андрей [tel] => +38063432343 
    В чем причина - хз. Сессию устанавливаю так:
    PHP:
    $q mysql_query("select id,name,tel from user where login='$login' and pass='$pass'") or die(mysql_error()) ;
                if(
    mysql_num_rows($q) == 1) {
                    
                    
    $user = array() ;
                    
    $user mysql_fetch_row($q) ;
                    
                    
    $_SESSION['entered'] = 1;
                    
    $_SESSION['id'] = $user[0];
                    
    $_SESSION['name'] = $user[1];
                    
    $_SESSION['tel'] = $user[2];
                    
    header('Location: '.SITE_URL) ;
     
  2. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    975
    Симпатии:
    255
    Не хватает
    PHP:
    session_start();
    перед началом работы с сессиями, если конечно не прописан автостарт сессий.
     
  3. CrashX

    CrashX В прошлом XSiteCMS

    Регистр.:
    6 июн 2008
    Сообщения:
    682
    Симпатии:
    112
    в индексе почти первой строкой пиши всегда session_start();
    если хочешь можешь задать имя
    вот мое начало
    Код:
    //загрузка конфигурации ядра системы
    require_once("config.php");
    setlocale(LC_ALL, LOCATE);
    mb_internal_encoding(ENCODING);
    date_default_timezone_set(TIMEZONE);
    /* стартуем сессию */
    session_name(SESSION);
    session_start();
     
  4. daki

    daki Создатель

    Регистр.:
    10 май 2010
    Сообщения:
    13
    Симпатии:
    0
    Нубский вопрос - если я вставляю страницы инклюдом, играет ли роль где писать session_start()? В каждом файле или только в основном - например в шапке. Как будет правильней?
     
  5. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    сессия объявляется 1 раз и до вывода заголовков в броузер