2013-02-14 4 views
0

Оказывается, мой файл php.ini не настроен должным образом. С помощью fatcow (мой хост) вы должны изменить файл .ini, чтобы указать каталог, в котором вы сохраняете дату сеанса, и включаете session.save_path = ("directory"); до session_start() ;.Подбор Объявленных Сессий Переменные

Вы, ребята, были абсолютно правы. Это был отличный опыт обучения.

У меня возникли проблемы с сеансами.

На моей первой странице я правильно определил переменные сеанса, потому что могу их напечатать в файле php, в котором я их ввел. На странице, на которую перенаправляется пользователь с моим заголовком, я пытаюсь сделать следующее но ничего не печатает. Его как будто session_start(); ничего не делает. Я попробовал Print_R(); и он просто печатает массив(). Вот мой код со страницы, указанной в заголовке, это файл .phtml.

Есть ли что-нибудь, что мне нужно сделать на целевой странице, чтобы убедиться, что сеанс продолжается? Я использовал session_start(); на исходной странице.

Действительно смущен, что мои переменные не получают.

+0

The print_r ($ _SESSION); результаты на Array() на странице, поэтому я могу сказать, что PHP «работает» ... –

+0

Поместите 'session_start();' в первую строку. Затем 'HTML code'. И все должно быть в порядке. – alexbusu

+0

Я создал два php-файла ztest1 и ztest2: Ниже находится ztest1.php Я могу повторить переменную сеанса здесь и получить 1 назад ... но если я вырву эхо и вернусь к test2.php, переменные появятся пустым - Просто показывает Array() ^. Должен ли я добавить что-то особенное в функцию session_start? –

ответ

2

session_start()необходимо называться перед вами выходом любого HTML

<? 
session_start(); 
?> 
//HTML code up here 
<?php 
echo $_SESSION['dentist_first_name']; 
Print_r ($_SESSION); 
?> 
//HTML code down here 
+0

Пробовал это еще не работать - PHPSESSID забирается в dev. хотя я получаю пустой массив из «Print_r». –

0

session_start(); должен быть до того, как вы выведете HTML

Если это так, вы указываете заголовок нападающих пользователей. Является ли заголовок переадресацией пользователя до того, как он попадает в объявление $ _SESSION на странице?

+0

вот фрагмент из файла ... $ _SESSION ['dentist_prof_designation'] = $ dentist_prof_designation; $ _SESSION ['dentist_first_name'] = $ dentist_first_name; $ _SESSION ['model_num'] = $ model_num; $ _SESSION ['dealer_name'] = $ dealer_name; $ _SESSION ['serial_a'] = $ serial_a; $ _SESSION ['date_of_install'] = $ date_of_install; header ("Местоположение: http://fakeurl.com/warrantycoupon.phtml"); ?> –

+0

Если у меня есть Print_r ($ _SESSION); прямо над заголовком он будет печатать все значения, введенные из формы. Если я запустил .phtml-файл с Я получаю пустой массив. –

0

Если вы делаете какой-либо вывод перед session_start(), это не сработает.

Даже withespace, прежде чем PHP открывающего тега является выход:

<? 
session_start(); 
?> 

ли это:

<? 
session_start(); 
?> 
+0

Странно. Я попробовал это, тогда я попытался разместить весь PHP в верхней части страницы, и я все еще получаю пустой массив. –

+0

Я даже создал новый файл php и изменил свой заголовок, чтобы указать на него, и просто поместил: По-прежнему получать пустой массив. –

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