2016-08-17 5 views
1

У меня есть класс с именем Country-> Gov-> Branch. Каждый из них возвращает массив в следующем порядке: Страна дает Gov и объединяет его с gov, gov дает ветку и объединяет ее с веткой. Массив ветвей является атрибутом класса User, когда я использую User и загружаю его в $_session. Я объединяю массив Branch для сеанса напрямую, используя массив merge, чтобы упростить его использование, поэтому мне не нужно перебирать массив массива (просто идея) , Результат print_r($_SESSION); следующим образом

Array ([userid] => 1 
     [login] => [email protected] 
     [name] => Mohamed Talaat 
     [group] => 0 
     [picture] => mac 
     [Branchbranchid] => 1 
     [Branchbranchname] => Head Office 
     [Branchaddress] => xxxxxx st. , xxxx 
     [Branchgovid] => 2 
     [Govgovid] => 2 
     [Govgovcode] => 03 
     [Govgovname] => Alexandria 
     [Govcountryid] => 1 
     [Countrycountryid] => 1 
     [Countrycountrycode] => 20 
     [Countrycountryname] => Egypt) 

Я сказал Horray, но счастливые чувства Don `T вечны, когда я называю его ниже образом, я получаю сообщение об ошибке.

echo $_SESSION['Branchbranchid']; 

Примечание: Undefined индекс: Branchbranchid в D: \ XAMPP \ HTDOCS \ офис \ home.php в строке 7 и ничего вторит у меня есть session_start(); в первой главе страницы перед любой код, я замечаю, что проблема произошло в объединенном части, начиная с ключа [Branchbranchid], потому что если я делать echo $_session['any element']; как

echo $_SESSION['name']; 

Перед этим ключом ([Branc hbranchid]), код работает нормально. Я попытался обернуться, добавив значения с ключами в другой массив, но получаю тот же результат, и появляется одно и то же уведомление, и ничего не повторяется. Я думаю, что есть проблемы в ключах, потому что, когда я подтолкнул значения к индексированному массиву, он отлично работает, но без ключей, это потерянный случай ...

Любые идеи ... о том, почему и как чтобы избежать или исправить эту проблему

+0

использовать сессию в любом случае вы должны добавить 'session_start();' на верхней части страниц, на которых вы хотите использовать его –

+0

Где вы с помощью этого, на тот же файл или любой другой php-файл? –

+2

'$ _SESSION'! = '$ _session' –

ответ

0

Вы должны положить start_session() в первую строку в вашем php-файле, где бы вы ни пытались получить доступ к глобальной сессии.

И изменить $_session с $_SESSION

+0

Я использую start_session в первой строке и в своем коде я пишу это $ _SESSION в верхнем регистре ... я действительно исправляю вопрос выше Спасибо –

+0

любые идеи ????? –