| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Избегание ошибок |
| Автор: Shark 20.5.2009, 00:36 |
| чтобы избежать ошибку Notice: Undefined index: id_ses in нужно обязательно указывать isset() или можно каким-то другим способом ее решить? |
| Автор: godvinn 20.5.2009, 01:16 |
| а просто подавить знаком @ не получаеться *? |
| Автор: Shark 20.5.2009, 01:46 |
| godvinn, если поставить знак @, то тогда ниодна ошибка не появится... |
| Автор: Sanchezzz 20.5.2009, 05:17 |
| переменные объявить пробовали? (string)$str = ''; (int)$int = 0; можно без (int string итд) |
| Автор: primesite 20.5.2009, 09:57 |
| А поверку существования индексов (или ключей) в массивах лучше всего сделать специально предназначенной для этого ф-ей: http://ru2.php.net/array_key_exists |
| Автор: Shark 20.5.2009, 15:01 | ||
а если такой код:
|
| Автор: s0lman 20.5.2009, 15:10 |
А в чем вопрос? |
| Автор: Shark 20.5.2009, 15:15 |
| s0lman, а Вы почтайте первый пост |
| Автор: s0lman 20.5.2009, 15:27 | ||
Для строки 4 можно, например
Или $page=1, как там нумерация идет В остальных трех случаях выложите полный текст ошибок |
| Автор: Shark 20.5.2009, 15:47 |
| s0lman, ошибка точно такая же Notice: Undefined index: (указана переменная)... в своем коде я наисал комменты где эта ошиба! |
| Автор: primesite 20.5.2009, 15:53 | ||
Тогда так:
|
| Автор: s0lman 20.5.2009, 16:16 |
| Shark, как я могу судить, в вашем коде не определа переменная $page. Если в 4-й строке вы ее определили, то нотайс вылетать не должен бы... |
| Автор: Shark 20.5.2009, 16:17 | ||||
помимо этой строчки:
есть и другие ошибки... прокрутите мой код вниз и вправо и почитайте коммы... с этим
я уже понял |
| Автор: bars80080 20.5.2009, 17:52 |
| и ты не можешь вставить проверку для переменной с указанным индексом? (который, кстати, ты оставил в тайне от нас) это во-первых, во-вторых, совать чистые необработанные $_GET - верх кощунства. гибель базы, гибель пользователей, имевших горькую участь зайти на ваш сайт, и т.д.... |
| Автор: Shark 20.5.2009, 19:16 |
| bars80080, про какой индекс ты имеешь ввиду?... 1. это вывод ссылок на страницы... 2. где была ошибка я ставил isset() 3. только после этих иссетов у меня выводилось Старница: 111, а не Страница: 1 | 2 > >> |
| Автор: Photon 20.5.2009, 22:36 | ||||||
| У тебя куча переменных из массива $_GET. Ты твёрдо уверен в их существовании? И в начале заменить
на
P.S. Вот тебе твой код с поправками.. Так должно работать.. Только обрати внимание на 6, 7 и 8 строки.. Я ж не знаю, какие у тебя минимальные значения
И еще вопрос.. У тебя куча одинакового кода повторяется.. Ты не думал, что его можно как-то по-другому выводить? |
| Автор: Shark 20.5.2009, 23:14 | ||||
работает, НО:
это если от выбранной странице в левую сторону нельзя выбрать страницы, и так же с правой стороной... если выбрать 3 страницу... то эти ошибки исчезают другими словами вот в этой части:
|
| Автор: Photon 21.5.2009, 00:20 | ||||
Ну тут можно сделать все проще..
Оставляем этот кусок и добавляем:
Попробуй.. Если не будет работать, значит я что-то недосмотрел и забыл взять из твоего кода. |
| Автор: Shark 21.5.2009, 02:04 |
| Photon, та же самая ошибка... что с твоими изменениями, что без них |
| Автор: Photon 23.5.2009, 04:58 |
| Та же самая - это какая? |
| Автор: Shark 23.5.2009, 16:09 | ||
|
| Автор: NLspieler 23.5.2009, 19:35 | ||
| У меня почему то никогда не возникало подобных проблем. Наверное сервер настроен так, что не существующие переменные воспринемает как пустое значение. Например если написать такой скрипт.
То результатом будет просто Hallo. Думал, что так и должно быть и даже использовал это свойство. Теперь вот появились сомнения... |
| Автор: enof 23.5.2009, 20:06 |
| Значит E_NOTICE не включен в вывод ошибок. И причем здесь сервер? |
| Автор: NLspieler 23.5.2009, 20:22 |
| enof , а это может быть черевато какими либо последствиями? |
| Автор: enof 23.5.2009, 20:31 | ||
Это просто предупреждение, что юзается неопределенная переменная. Предупреждение может натолкнуть на некоторые мысли, что где-то косяк. Если нужно пустое значение, которое может измениться, а может и нет, то я делаю примерно так:
По крайней мере мне так удобнее, чем юзать что-то неопределенное. Ну и не валятся нотайсы. |
| Автор: Shark 23.5.2009, 22:25 | ||||||
NLspieler,
прежде чем, написать это сообщение, я попробовал тоже самое.... это тут не причем! enof,
а что делать если переменная может существовать и может не существовать!!!???т.е. именно тут?
если у меня открыта первая страница.. появляется ошибка!!! а если 3-я.. то ошибки нет! ошибка все таже!.. неизвестная переменная! |
| Автор: enof 23.5.2009, 22:41 |
| Она должна существовать, определите ее и все, в чем проблема? Добавлено через 17 секунд это не ошибка Добавлено через 41 секунду |
| Автор: Shark 23.5.2009, 23:13 |
| а как? |
| Автор: enof 24.5.2009, 00:53 | ||||
А есть еще какой-то способ?
Переменная используется, но при этом может и не существовать, не логично как-то получается. Не стоит зацикливаться на этом. |
| Автор: Shark 24.5.2009, 02:11 | ||
enof, ты хочешь сказать, что так надо писать:
|
| Автор: unicross 24.5.2009, 02:22 | ||
Shark, неужеле так сложно объявить переменные в начале скрипта?
|
| Автор: enof 24.5.2009, 03:13 |
это ты откуда такое придумал? я этого не говорил. К тому же этот кусок кода тоже будет нотайс выдавать. |
| Автор: Photon 25.5.2009, 06:02 |
| Shark, где в том, что я написал, переменные $page2left, $pervpage и $page1left? Если они у тебя где-то дальше используются, то это значит только то, что ты не весь код показал здесь.. |