|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.07.2019, 15:04 | #1 |
Форумчанин
Регистрация: 24.02.2014
Сообщений: 144
|
Опять переменная буксует.
Здравствуйте форумчане, продолжаю исправлять ошибки и в основном это переменные не определяются. Сейчас вот такая ситуация
Код:
Я предлагаю такой вариант - Код:
|
28.07.2019, 15:14 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,708
|
Так вы же не исправляете ошибки, а городите костыли. Если ваши скрипты вызываются без кучи требуемых переменных, то надо исправлять того, кто их так вызывает. Или предусматривать вариант без этих переменных, например, с возвратом страницы с ошибкой.
|
28.07.2019, 15:31 | #3 |
Форумчанин
Регистрация: 24.02.2014
Сообщений: 144
|
Честно говоря не совсем понял, но вот такой вариант
Код:
|
28.07.2019, 15:37 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,708
|
Конечно, нет. Вместо того, чтобы проверить равно ли 2*2 пяти, вы сказали 2*2 теперь равно 5.
|
28.07.2019, 15:49 | #5 |
Форумчанин
Регистрация: 24.02.2014
Сообщений: 144
|
Понял спасибо.
|
28.07.2019, 16:25 | #6 |
Пользователь
Регистрация: 27.05.2019
Сообщений: 70
|
И обратите внимание, что в 1 и 2 примерах у вас идет противоположное сравнение
- здесь условие сработает, если переменная НЕ равна 1 - а здесь, наоборот, если равна 1 Чтобы не было подобных ошибок, для всех переменных, которые создаются по условию, проверяйте isset(). Или, чтобы не делать это каждый раз, можно задавать значение по умолчанию. Например Код:
Лучший сервис выбора хостинга по параметрам.
Более 600 тарифов. Есть промокоды! |
28.07.2019, 16:41 | #7 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Цитата:
isset конечно бывает полезен, но не особо часто. Скорее для проверки того, что не зависит от вас, типа $_GET/$_POST (и то $_GET/$_POST не нужны в 2019 году, возьмите хоть микрофреймворк какой-нибудь). А в своем коде обычно лучше просто инициализировать всё, что надо.разберитесь что это за переменная, откуда она, какие и когда значения у нее должны быть, а не пишите всякую фигню наугад. И давайте переменным нормальные имена, не экономьте символы.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 28.07.2019 в 16:46. |
|
28.07.2019, 17:06 | #8 | |
Пользователь
Регистрация: 27.05.2019
Сообщений: 70
|
Цитата:
Ну или в таком случае нужно писать else и создавать переменную.
Лучший сервис выбора хостинга по параметрам.
Более 600 тарифов. Есть промокоды! |
|
28.07.2019, 17:11 | #9 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Дык лучше просто инициализировать до этого без else.
А в случае доставания опциональных значений из запросов сделать функцию, которой передается значение по умолчанию. (ну а еще лучше взять фреймворк/микрофреймворк, где подобные штуки уже есть) Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 28.07.2019 в 17:13. |
29.07.2019, 16:12 | #10 |
Форумчанин
Регистрация: 24.02.2014
Сообщений: 144
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Опять MDI и опять нет активной формы. | Neon-z | Общие вопросы Delphi | 2 | 25.10.2014 12:20 |
опять я опять мемо | nyasha2013 | Помощь студентам | 2 | 19.05.2011 21:09 |
...... и опять С++ | Chaynik011091 | Помощь студентам | 5 | 24.06.2009 20:46 |
И опять мэйлы.. Опять... | Pusher | PHP | 6 | 28.06.2008 03:08 |