2012-05-19 3 views
0

Я пытаюсь отображать сообщения об ошибках, когда пользователь не вводит данные в определенные поля. Если пользователь ничего не вводит в поле, я сохраняю эту ошибку в сеансе. Когда пользователь нажимает enter и сеанс с сообщениями об ошибках установлен, он должен помешать пользователю продолжать и отображать ошибки. Когда я показываю ошибки, я хранил ошибки в сеансе в переменной, а затем отключал сеанс, затем перебирал ошибки и печатал каждый из них. Это работает в каждом браузере, кроме Firefox.Php Session unset() с firefox

В firefox, если я пытаюсь использовать unset() в сеансе в любом месте страницы, он также уничтожает значения в переменной. Как будто переменная ссылается на сеанс. Это только проблема в firefox. Мне нужно отменить сеанс, иначе он повлияет на любые другие страницы, на которых я печатаю сообщения об ошибках.

У кого-нибудь есть идеи, как это решить?

Обнаружили, что ошибки отображаются на моем сервере localhost для firefox, но не тогда, когда я загружаю его в Интернет.

+0

Когда вы говорите, снята с охраны сеанса вы имеете в виду вы 'вызова session_unset()' или вы 'вызова отключенное ($ _ SESSION)' или вы имеете в виду, вы просто не-установка одного ключа массива например 'Снята с охраны ($ _ SESSION [ 'ключ'])'? Было бы неплохо, если бы вы могли скопировать на свой пост то, что у вас есть. – bluegman991

ответ

0

Почему вы не храните сообщения об ошибках в массиве и не проверяете, пуст ли массив?

$errors = array(); 

if(empty($_POST['variable'])) 
{ 
    $errors[] = "Variable empty."; 
} 

if(empty($errors)) 
{ 
    // Process form 
} 
else 
{ 
    // Loop through the array and echo out each error messsage 
} 

Это будет иметь больше смысла и может быть гарантировано для работы во всех браузерах.

+0

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

+0

Можете ли вы отредактировать свой главный пост, чтобы показать соответствующий код, пожалуйста? –