2013-06-10 6 views
0

Я храню другую сессию, как идентификатор, тип, isloggedin и, наконец, comp_city где хранить имя города на comp_city сессию ..Codeigniter сессия странного поведение

Например, я хранящийся «Сан-Франциско» в сессионном comp_city и это было успешно, и теперь я перенаправлен на другую страницу, и я хочу использовать ценность comp_city, но странная вещь вместо того, чтобы иметь «Сан-Франциско», поскольку моя ценность дает мне «img». В чем проблема? Это потому, что я использовал слишком много сеансов?

public function index($city='', $error=null) 
{  
    if($city == '') 
    { 
     $city = 'San Francisco'; 
     $this->session->set_userdata(array('compcity' => $city)); 
    }else if($city) 
    { 
     $city = urldecode($city); 
     $this->session->set_userdata(array('compcity' => $city)); 
    } 

    .... 
+1

может быть ваши данные сеанса становятся переопределен где-то, вы могли бы показать свой соответствующий код ..! –

+0

и как вы получаете данные сеанса для 'compcity' ...? –

ответ

0

Посмотрите, что задано для всего сеанса, для этого используйте следующий код и проверьте требуемый сеанс.

print_r($this->session->userdata); 

или

print_r($this->session->all_userdata()); 
0

У меня была аналогичная проблема, одна переменная сеанса возвращается «по умолчанию», а другой возвращается имя файла CSS.

я не смог найти точную причину, но это решить мою проблему:

Был недостающий CSS файл (в папке «по умолчанию»). Я исправил ссылку для файла css и проблема с сеансом исчезла.

0

Попробуйте настроить данные таким образом:

право

echo '<pre>'.print_r($this->session->all_userdata(), true).'</pre>'; 
$this->session->set_userdata('more_data', array('compcity' => $city)); 
echo '<pre>'.print_r($this->session->all_userdata(), true).'</pre>'; 

Я довольно уверен, что вы полностью перезаписывать весь сеанс с тем, как вы используете его.

неправильно

echo '<pre>'.print_r($this->session->all_userdata(), true).'</pre>'; 
$this->session->set_userdata(array('compcity' => $city)); 
echo '<pre>'.print_r($this->session->all_userdata(), true).'</pre>'; 
Смежные вопросы