Я вот такой код использую (это только кусок и не для стандартного джона). Имхо хранить в сессии наличие ошибки лучше, чем передавать ее через get.
public function get_and_show() {
// Функция для вывода ранее установленного сообщения.
// Пример использования:
// message::get_and_show();
if (isset($_SESSION['message_text'])) {
switch ($_SESSION['message_code']) {
case 'critical_error': echo '<div class="cmese">Ошибка: "'.$_SESSION['message_text'].'"</div>'; break;
case 'error': echo '<div class="cmese">Ошибка: "'.$_SESSION['message_text'].'"</div>'; break;
case 'warning': echo '<div class="cmesw">Внимание: "'.$_SESSION['message_text'].'"</div>'; break;
case 'ok': echo '<div class="cmeso">'.$_SESSION['message_text'].'</div>'; break;
case 'simple': echo '<div class="cmess">'.$_SESSION['message_text'].'</div>'; break;
default: echo '<div class="cmess">'.$_SESSION['message_text'].'</div>'; break;
}
}
else {
return 1;
}
unset($_SESSION['message_code']);
unset($_SESSION['message_text']);
}
public function set_and_redirect($code = 'error', $text = 'Неопознанная ошибка', $link = '') {
// Функция для установки сообщения и немедленного перенаправления на заданную страницу.
// Пример использования:
// message::set_and_redirect('error', 'Вы ошиблись!', 'index.php');
$_SESSION['message_code'] = $code;
$_SESSION['message_text'] = $text;
header('location: '.$link);
exit;
}