Xwab
Форумыnavigate_nextНебольшие вопросы по PHP/MySQL

Вывод с функции сообщения на другой стр.
Сообщения
FiXleR

Вот сделал функцию, вывода сообщений об ошибке пользователю.
Вывод с перенаправлением, тоесть в начале перенаправляем пользователя, потом выводим ошибку.

функция:

# Выводим ошибки
function error($error, $location)
 {
  # Если есть link для перенаправления
  if($location == TRUE)
   {
    # Сохраняем сообщение об ошибки в сессию
    $_SESSION['error'] = $error;
   
    # Перенаправляем пользователя
    if(ltrim($_SERVER['REQUEST_URI'], '/') !== $location)
     {
      header('Location:'.$location);
     }
    
    # Если пользователь на верной стр, выводим сообщение
    if(ltrim($_SERVER['REQUEST_URI'], '/') == $location)
     {
      ?><div class="error"><?=$_SESSION['error']?></div><?
      UnSET($_SESSION['error']);
     }
   }
  # Если нет link'a для перенаправления
  else
   {
    ?><div class="error"><?=$error?></div><?
   }
 }



Но вот что-то у меня не выводится на перенаправленой странице сообщение об ошибке, в чем может быть причина?
пример использование:
error('Error','/test.php');

12 Янв 2013, 15:19
ma3uk

Удалил к чертям.


__________
посл.ред. 12 Янв 2013, 15:45; всего 1 раз 12 Янв 2013, 15:34
FiXleR

ma3uk, какой бред? мне так лучше, в html.
$_SESSION['error'] - Сохранить текст об ошибки, ибо на новой странице удалится инфа (Если нет, поправь меня).
=
Твой пример не работает, так же не выводит ничего на другой странице.

12 Янв 2013, 15:42
xman12

а ты сессию запустил?

12 Янв 2013, 15:45
FiXleR

xman12, да
=
если вывести в файле index.php ошибку и перенаправить на /index.php?go, то все отлично выводится:
error('errro','?go');

А если вывести ошибку в файле index.php и перенаправить в test.php то не хочет,..

12 Янв 2013, 15:46
SL_NeKrOmAnT

Покажи пример кода на двух страницах.

13 Янв 2013, 12:18
FiXleR

SL_NeKrOmAnT, на второй ничего странице нету ничего, кроме инклуда который подключает эту функцию

13 Янв 2013, 12:48
Molfar

не нужна тут перенаправленная страница. Просто модуль ошибки сделай.

13 Янв 2013, 12:56
IceJOKER

FiXleR, а на всех ли страницах присутствует session_start(); ?

13 Янв 2013, 13:00
FiXleR

IceJOKER, да
добавлено спустя 18 секунд:
Molfar, тебе не нужна, а мне нужна.
добавлено спустя 1 минуту:
IceJOKER, если на странице test.php написать echo $_SESSION['error']; то выведет сообщение ошибки.

13 Янв 2013, 13:48
Ответить на тему