![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Shark |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 18.6.2006 Где: Москва Репутация: 4 Всего: 4 |
чтобы избежать ошибку Notice: Undefined index: id_ses in нужно обязательно указывать isset() или можно каким-то другим способом ее решить?
|
|||
|
||||
godvinn |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 4.4.2008 Где: possibility of mo ving to Kyiv Репутация: 1 Всего: 1 |
а просто подавить знаком @ не получаеться *?
|
|||
|
||||
Shark |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 18.6.2006 Где: Москва Репутация: 4 Всего: 4 |
godvinn, если поставить знак @, то тогда ниодна ошибка не появится...
|
|||
|
||||
Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 41 Всего: 60 |
переменные объявить пробовали?
(string)$str = ''; (int)$int = 0; можно без (int string итд) -------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
bars80080 |
|
||||||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
о прописных истинах, о которых всё же надо сказать, ибо вопросы возникают неспроста вообще, данный вопрос не имеет на самом деле проблемы в себе. тут ведь очень просто: как ты можешь использовать переменные, если не знаешь есть они или нет. а если знаешь, то она уже решена в любой задаче данные просто не могут ниоткуда взяться, если вы её хотите решить грамотно, без дальнейших сюрпризов в дальнейшим (наподобии ошибок, взлома системы, порчи данных), то надо изначально объявлять переменные здесь подойдут isset и empty, но в каждом конкретном случае своя проверка у тех кто начинает кодить возникает естественная лень по этому поводу. переменных много, а наблюдать кучу строк
к примеру, мне из формы должны придти ряд числовых параметров. я пишу что-то вроде:
что выглядит гораздо короче чем предыдущий кусок кода, а внутренние обработчики сделают что надо и вернут соответствующие переменные (имхо, лучше они будут не вида $day, а вида $HTML->i['day'], т.е. в специальном массиве под входящие переменные, дабы они не перезатирались). но что самое главное, мы получаем гарантировано существующую переменную, уже приведённую к нужному (числовому) виду |
||||||
|
|||||||
primesite |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 19.5.2009 Репутация: нет Всего: нет |
А поверку существования индексов (или ключей) в массивах лучше всего сделать специально предназначенной для этого ф-ей:
http://ru2.php.net/array_key_exists |
|||
|
||||
Shark |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 18.6.2006 Где: Москва Репутация: 4 Всего: 4 |
а если такой код:
Это сообщение отредактировал(а) Shark - 20.5.2009, 15:07 |
|||
|
||||
s0lman |
|
|||
![]() Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: 9 Всего: 29 |
-------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
Shark |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 18.6.2006 Где: Москва Репутация: 4 Всего: 4 |
s0lman, а Вы почтайте первый пост
|
|||
|
||||
s0lman |
|
|||
![]() Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: 9 Всего: 29 |
Для строки 4 можно, например
Или $page=1, как там нумерация идет В остальных трех случаях выложите полный текст ошибок ![]() -------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
Shark |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 18.6.2006 Где: Москва Репутация: 4 Всего: 4 |
s0lman, ошибка точно такая же Notice: Undefined index: (указана переменная)... в своем коде я наисал комменты где эта ошиба!
|
|||
|
||||
primesite |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 19.5.2009 Репутация: нет Всего: нет |
Тогда так:
|
|||
|
||||
s0lman |
|
|||
![]() Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: 9 Всего: 29 |
Shark, как я могу судить, в вашем коде не определа переменная $page.
Если в 4-й строке вы ее определили, то нотайс вылетать не должен бы... -------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
Shark |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 18.6.2006 Где: Москва Репутация: 4 Всего: 4 |
помимо этой строчки:
есть и другие ошибки... прокрутите мой код вниз и вправо и почитайте коммы... с этим
я уже понял |
||||
|
|||||
bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
и ты не можешь вставить проверку для переменной с указанным индексом? (который, кстати, ты оставил в тайне от нас)
это во-первых, во-вторых, совать чистые необработанные $_GET - верх кощунства. гибель базы, гибель пользователей, имевших горькую участь зайти на ваш сайт, и т.д.... |
|||
|
||||
Shark |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 18.6.2006 Где: Москва Репутация: 4 Всего: 4 |
bars80080, про какой индекс ты имеешь ввиду?...
1. это вывод ссылок на страницы... 2. где была ошибка я ставил isset() 3. только после этих иссетов у меня выводилось Старница: 111, а не Страница: 1 | 2 > >> |
|||
|
||||
Photon |
|
||||||
![]() Злобный программер ![]() ![]() Профиль Группа: Участник Сообщений: 282 Регистрация: 27.2.2009 Где: Таганрог Репутация: 10 Всего: 12 |
У тебя куча переменных из массива $_GET.
Ты твёрдо уверен в их существовании? И в начале заменить
на
P.S. Вот тебе твой код с поправками.. Так должно работать.. Только обрати внимание на 6, 7 и 8 строки.. Я ж не знаю, какие у тебя минимальные значения
И еще вопрос.. У тебя куча одинакового кода повторяется.. Ты не думал, что его можно как-то по-другому выводить? Это сообщение отредактировал(а) Photon - 20.5.2009, 22:56 -------------------- With best regards.. |
||||||
|
|||||||
Shark |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 18.6.2006 Где: Москва Репутация: 4 Всего: 4 |
работает, НО:
это если от выбранной странице в левую сторону нельзя выбрать страницы, и так же с правой стороной... если выбрать 3 страницу... то эти ошибки исчезают другими словами вот в этой части:
|
||||
|
|||||
Photon |
|
||||
![]() Злобный программер ![]() ![]() Профиль Группа: Участник Сообщений: 282 Регистрация: 27.2.2009 Где: Таганрог Репутация: 10 Всего: 12 |
Ну тут можно сделать все проще..
Оставляем этот кусок и добавляем:
Попробуй.. Если не будет работать, значит я что-то недосмотрел и забыл взять из твоего кода. Это сообщение отредактировал(а) Photon - 21.5.2009, 00:22 -------------------- With best regards.. |
||||
|
|||||
Shark |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 18.6.2006 Где: Москва Репутация: 4 Всего: 4 |
Photon, та же самая ошибка... что с твоими изменениями, что без них
|
|||
|
||||
Photon |
|
|||
![]() Злобный программер ![]() ![]() Профиль Группа: Участник Сообщений: 282 Регистрация: 27.2.2009 Где: Таганрог Репутация: 10 Всего: 12 |
Та же самая - это какая?
-------------------- With best regards.. |
|||
|
||||
Shark |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 18.6.2006 Где: Москва Репутация: 4 Всего: 4 |
|
|||
|
||||
NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
У меня почему то никогда не возникало подобных проблем.
Наверное сервер настроен так, что не существующие переменные воспринемает как пустое значение. Например если написать такой скрипт.
То результатом будет просто Hallo. Думал, что так и должно быть и даже использовал это свойство. Теперь вот появились сомнения... |
|||
|
||||
enof |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
Значит E_NOTICE не включен в вывод ошибок. И причем здесь сервер?
![]() |
|||
|
||||
NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
enof , а это может быть черевато какими либо последствиями?
|
|||
|
||||
enof |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
Это просто предупреждение, что юзается неопределенная переменная. Предупреждение может натолкнуть на некоторые мысли, что где-то косяк. Если нужно пустое значение, которое может измениться, а может и нет, то я делаю примерно так:
По крайней мере мне так удобнее, чем юзать что-то неопределенное. Ну и не валятся нотайсы. |
|||
|
||||
Shark |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 18.6.2006 Где: Москва Репутация: 4 Всего: 4 |
NLspieler,
прежде чем, написать это сообщение, я попробовал тоже самое.... это тут не причем! enof,
а что делать если переменная может существовать и может не существовать!!!???т.е. именно тут?
если у меня открыта первая страница.. появляется ошибка!!! а если 3-я.. то ошибки нет! ошибка все таже!.. неизвестная переменная! |
||||||
|
|||||||
enof |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
||||
|
||||
Shark |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 18.6.2006 Где: Москва Репутация: 4 Всего: 4 |
а как?
|
|||
|
||||
enof |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
||||
|
||||
Shark |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 18.6.2006 Где: Москва Репутация: 4 Всего: 4 |
enof, ты хочешь сказать, что так надо писать:
|
|||
|
||||
unicross |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 422 Регистрация: 15.6.2008 Репутация: 21 Всего: 53 |
||||
|
||||
enof |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 837 Регистрация: 23.1.2009 Где: Санкт-Петербург Репутация: 30 Всего: 35 |
||||
|
||||
Photon |
|
|||
![]() Злобный программер ![]() ![]() Профиль Группа: Участник Сообщений: 282 Регистрация: 27.2.2009 Где: Таганрог Репутация: 10 Всего: 12 |
Shark, где в том, что я написал, переменные $page2left, $pervpage и $page1left?
Если они у тебя где-то дальше используются, то это значит только то, что ты не весь код показал здесь.. Это сообщение отредактировал(а) Photon - 25.5.2009, 16:15 -------------------- With best regards.. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |