это редирект, и на этой странице сессиия не используется. Я просто привел эту часть кода чтобы уточнить нужно ли бороться с неопределенными переменными. Приношу извенения, что немножко запутал...
то ФАНАТ, спасибо, буду писать туда.
Короче всем thanks! Пойду разбиратсья...
-~{}~ 10.11.07 14:29:
вот какая для меня мистика происходит. Сразу оговорюсь, что в INTERNET EXPLORERE работает нормально.
система обнаружения ошибок работает через раз. Данная система основана на том, что при появлении ошибки, она сохраняется в массив сессии,
например:
PHP:
if (empty($nameN)) $_SESSION['errorRep'][1] = "<font color=red>you dont enter a name.</font><br>";
if (empty($questData)) $_SESSION['errorRep'][2] = "<font color=red>you dont enter a question. </font><br>";
после всех проверок я проверяю были ли ошибки. Если были, то тогда произвожу редирект, если нет, то выполняю необходимые действия:
PHP:
if (empty($_SESSION['errorRep']))
{
произвожу необходимые действия
}
else
{
header("Location: http://www.com/index.php?part=7");
exit;
}
Далее после редиректа произвожу проверку(там куда средиректил скрипт):
PHP:
if (isset($_SESSION['errorRep'] ))
{
foreach($_SESSION['errorRep'] as $errorRepPR) $OUTPUT_INFO .= $errorRepPR;
unset($_SESSION['errorRep']);
}
elseif (isset($_SESSION['notErrorRep'] ))
{
$OUTPUT_INFO .= "<font color=#4b730b>You send your question. Our info-center ack on this whith 1 day. Thank You.</font>";
unset($_SESSION['notErrorRep']);
}
Проблема заключается в следущем:
Проблема появляется только в opera. версия 8.01. Более новые пока не проверял.
Когда
1 первый раз заходишь на страницу, где находится форма, которая будет проверятся вышеуказанным образом, нажимаешь на submit(не заполняя поля), и скрипт должен выдать(в соответствии с вышеуказанным алгоритомом проверки) ошибки, но этого не происходит!! Когда второй раз пробуешь повторить процедуру, то все работает как должно(т.е. ошибки выдаются). После многократного повторения процедуры все работает нормально. Но когда заходишь на эту страницу снова, и пробуешь без введеных данных нажать на submit, то ни каких ошибок не выводится. Так же у меня есть еще одно место на сайте, где производится проверка ошибок по этому-же алгоритму и используется тоже название переменной сессии(
PHP:
$_SESSION['errorRep'][$n]
).И бывает так, что вначале зашел на одну страницу, проверил работу формы, ошибок не появилось, потом захожу в другой раздел формы, где проверка происходи по этому-же алгоритму, сразу же появляются ошибки из другой формы(т.е. переменная не убивается через unset($_SESSION['notErrorRep']). Иногда после авторизации скрипт проверки создает переменные сессии, редиректит в нужное место, но скрипт куда-то девает переменные авторизации сессии.
Короче сессии, то не создаются, то не удаляются... Я бы конечно думал на свои руки, но
explorer все делает правильно. Я коненчо не гуру и не супер-мастер, но как работают сессии знаю. Может версия opera дырявая, теряет сессии(куки).
.
Пожайлуста, помогите!!!! Буду сердечно благодарен! Просто дело очень важное. Всем большое спасибо!