Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2014, 09:45   #1
Fagundass
 
Регистрация: 08.10.2008
Сообщений: 8
По умолчанию в чём ошибка?

Notice: Undefined index: id on line 4


PHP код:
<?php
$title 
'Супер-мега сайт';
$header "Добро пожаловать на наш сайт!";
$id strtolower(strip_tags(trim($_GET['id'])));
// Инициализация заголовков страницы
switch($id){
    case 
'contact'
        
$title 'Контакты';
        
$header 'Обратная связь';
        break;
    case 
'about'
        
$title 'О нас';
        
$header 'О нашем сайте';
        break;
    case 
'info'
        
$title 'Информация';
        
$header 'Информация';
        break;    
    case 
'log'
        
$title 'Журнал посещений';
        
$header 'Журнал посещений';
        break;
    case 
'gbook'
        
$title 'Гостевая книга';
        
$header 'Наша гостевая книга';
        break;        
}
?>
Fagundass вне форума Ответить с цитированием
Старый 07.10.2014, 11:00   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

В массиве $_GET нет индекса id.
Нужна проверка перед использованием:
PHP код:
$id = (!empty($_GET['id'])) ? strtolower(strip_tags(trim($_GET['id']))) : ''
Andkorol вне форума Ответить с цитированием
Старый 07.10.2014, 15:34   #3
Fagundass
 
Регистрация: 08.10.2008
Сообщений: 8
По умолчанию

спасибо, вроде вс ок
Fagundass вне форума Ответить с цитированием
Старый 08.10.2014, 15:13   #4
Fagundass
 
Регистрация: 08.10.2008
Сообщений: 8
По умолчанию

---------ДРУГОЙ ВОПРОС--------

PHP код:
<?php
$dt 
time();
$page $_SERVER['REQUEST_URI'];
$ref $_SERVER['HTTP_REFERER'];
$ref pathinfo($refPATHINFO_BASENAME);

$path "$dt|$page|$ref\n";
file_put_contents('log/'.PATH_LOG$path,
FILE_APPEND);
при первом запуске, выдаёт ошибку, когда нажимаешь ссылку то ошибка пропадает даже когда возвращаешься на эту страницу.

Notice: Undefined index: HTTP_REFERER on line 4
Fagundass вне форума Ответить с цитированием
Старый 08.10.2014, 16:30   #5
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Решение точно такое же самое.
Для понимания причины и поведения этого notice – гуглить «HTTP_REFERER».
Из этих двух ситуаций нужно сделать следующий вывод:
Если есть вероятность, что переменной может не оказаться по какой-либо причине – то перед использованием нужно обязательно проверить эту переменную на существование в памяти.
Проверить можно при помощи empty или isset – в зависимости от ситуации.
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в чём ошибка? vasiliy42 Паскаль, Turbo Pascal, PascalABC.NET 3 17.06.2012 18:32
В чём ошибка? Edward_92 Помощь студентам 0 16.05.2011 14:38
В чём ошибка? Simak63 Помощь студентам 2 30.03.2011 20:04
в чём ошибка артём1 Помощь студентам 1 02.11.2010 01:11