Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Неопределенная переменная, Не пойму что с переменной не так
Ilyoni  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 3
Пользователь №: 42708
На форуме: 8 месяцев, 15 дней
Карма:




	function MessageSend($p1, $p2) {
if ($p1 == 1) $p1 = 'Ошибка';
else if ($p1 == 2) $p1 = 'Подсказка';
else if ($p1 == 3) $p1 = 'Информация';
$_SESSION['message'] = '<div class="MessageBlock"><b>'.$p1.'</b>: '.$p2.'</div>';
exit(head('Location: '.$_SERVER['HTTP_REFERER']));
}
function MessageShow() {
if ($_SESSION['message'])$Message = $_SESSION['message'];
echo $Message;
$_SESSION['message'] = array();
}



Код вроде верный, только при проверке ведет себя не так как надо, но идеи он должен выкидывать на туже страницу и выводить сообщение, а на деле он перекидывает на пустую страницу с тайтлом: Location: <title>. нажав на кнопку назад возращается на нужную страницу с нужным результатом, то есть работает но косячно.

Notice: Undefined variable: Message in Z:\home\pavlushin.ru\www\index.php on line 30.
То есть строка
echo $Message;
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14966
Пользователь №: 4190
На форуме: 8 лет, 9 месяцев, 27 дней
Карма: 443




Ну так у тебя эта переменная создается только при выполнении определенного условия. А если условие не выполнено, то переменная не создана и будет не определена при выводе.
Меняй логику обработки.


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
icedfox  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 395
Пользователь №: 41702
На форуме: 1 год, 3 месяца, 20 дней
Карма: 13




function MessageShow() {
$Message = !empty($_SESSION['message']) ? $_SESSION['message'] : 'ничего нет';
echo $Message;
$_SESSION['message'] = array(); // шо це такое ? зачем переопределять ? зачем вообще менять значение глобальных переменных !!!
}
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ilyoni  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 3
Пользователь №: 42708
На форуме: 8 месяцев, 15 дней
Карма:




Цитата
Ну так у тебя эта переменная создается только при выполнении определенного условия. А если условие не выполнено, то переменная не создана и будет не определена при выводе.
Меняй логику обработки.


Я понял, но все таки проблема теперь больше в том что при специально допущенной ошибке, функция должна обновить эту страницу и написать причину ошибки, а она перекидывает на пустую страницу после чего когда я нажимаю назад, с пустой страницы на нужную, нужное сообщение появляется.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ilyoni  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 3
Пользователь №: 42708
На форуме: 8 месяцев, 15 дней
Карма:




Проблеу решил где head должно быть header вот правильный код:
	function MessageSend($p1, $p2, $p3 = '') {
if ($p1 == 1) $p1 = 'Ошибка';
else if ($p1 == 2) $p1 = 'Подсказка';
else if ($p1 == 3) $p1 = 'Информация';
$_SESSION['message'] = '<div class="MessageBlock"><b>'.$p1.'</b>: '.$p2.'</div>';
if ($p3) $_SERVER['HTTP_REFERER'] = $p3;
exit(header('Location: '.$_SERVER['HTTP_REFERER']));
}
function MessageShow() {
if ($_SESSION['message'])$Message = $_SESSION['message'];
echo $Message;
$_SESSION['message'] = array();
}
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса