Можно ли вывести причину операции exit() оставаясь на странице отправки?
Единственное, что мне приходит в голову, это редирект с id ошибки и далее, в зависимости от id также выводить поля ошибки, как и поля об успехе.
Но мне кажется это не совсем клевый способ, ведь в этом случае, юзер может сам в строке набрать при юзании ЧПУ строку /signin/email и получит окно с формой ошибки.
Может есть какие-нибудь другие методы?
Спасибо.
ridvik
Отправлено: 20 Июля, 2013 - 23:14:30
Частый гость
Покинул форум
Сообщений всего: 244
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
[+]
echo не подойдёт?
condpattern
Отправлено: 20 Июля, 2013 - 23:32:18
Новичок
Покинул форум
Сообщений всего: 18
Дата рег-ции: Июль 2013
Помог: 0 раз(а)
ridvik пишет:
echo не подойдёт?
Если echo вместо exit(), то это будет некорректно в отношении кода (ибо с эхо машина продолжить выполнять скрипт), а если внутри exit, то не вижу разницы.
Есть, конечно, еще вариант внутри каждого exit() целиком вставлять html код текущей страницы (к примеру, входа) + поле об ошибке. Но в случае, к примеру, регистрации, у меня есть exit() в количестве 5 или более и 5 раз дублировать код страницы с разницей лишь в тексте сообщения об ошибке- я, конечно, новичек, но мне все таки кажется это извращением и что есть другие способы?
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
В коде не должно быть совсем никакого вывода. Вы должны сначала обработать все данные, накопить сообщения об ошибках\успехе, и только когда все это будет сделано - решить в каком виде отобразить полученые данные. Если есть ошибки - покажите страницу ошибок, если нет - скажите пользователю, что всё пучком.
передавай привет своему наставнику, сектантишка ...
----- Правильный вопрос - уже половина правильного ответа!
p.s. индусы повсюду, будьте осторожны!
condpattern
Отправлено: 21 Июля, 2013 - 11:54:53
Новичок
Покинул форум
Сообщений всего: 18
Дата рег-ции: Июль 2013
Помог: 0 раз(а)
[quote=DelphinPRO][/quote]
Понял, спс.
[quote=soffrick][/quote]
Это копипаст из гугла, меняю только имя переменных и немного добавляю условия. Что не так? Как нужно правильно?
soffrick
Отправлено: 21 Июля, 2013 - 12:19:24
Посетитель
Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012 Откуда: Россия, Москва
Помог: 17 раз(а)
condpattern пишет:
Это копипаст из гугла
Это и есть не так, то есть неправильный источник ты выбрал ...
----- Правильный вопрос - уже половина правильного ответа!
p.s. индусы повсюду, будьте осторожны!
DelphinPRO
Отправлено: 21 Июля, 2013 - 12:38:40
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
condpattern пишет:
Что не так? Как нужно правильно?
if ($result2 == 'TRUE') — Здесь вы сравниваете $result2 со строкой 'TRUE', а нужно сравнивать со значением TRUE. Это разные вещи.
$confirm = true; — Здесь вы объявляете переменную
if(isset($confirm)) — и тут же проверяете - объявлена ли она? Конечно она всегда будет объявлена.
----- Чем больше узнаю, тем больше я не знаю.
condpattern
Отправлено: 21 Июля, 2013 - 13:44:06
Новичок
Покинул форум
Сообщений всего: 18
Дата рег-ции: Июль 2013
Помог: 0 раз(а)
[quote=soffrick][/quote]
Ну, моя цель не стать потрясным, качественным программистом, а сделать сайт- развлечения ради. Поэтому я скорее ищу шаблоны и переделываю их под себя, нежели изучаю базовую фундаментальную теорию языка и прочие тонкости. Если есть очень грубые ошибки, с радостью, выслушаю.
[quote=DelphinPRO][/quote]
У меня такой кусок кода:
Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012 Откуда: Россия, Москва
Помог: 17 раз(а)
condpattern пишет:
сайт- развлечения ради
ucoz
а пхп - язык программирования (Добавление)
Цитата:
Поэтому я скорее ищу шаблоны и переделываю их под себя, нежели изучаю базовую фундаментальную теорию языка и прочие тонкости.
однозначно укоз
----- Правильный вопрос - уже половина правильного ответа!
p.s. индусы повсюду, будьте осторожны!
DelphinPRO
Отправлено: 21 Июля, 2013 - 14:38:17
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
condpattern пишет:
Мне кажется, если бы
в данном случае это работает, потому используется нестрогая проверка
вы сравниваете $result (булево значение true\false) со строкой 'TRUE'.
Разные типы сравниваются. Поэтому строка приводится к булевому типу. При этом если строка не пустая она становится равной TRUE
и оно будет работать. Но это неправильно, и при малейшем изменении логики перестанет работать. Такой код нестабилен и непредсказуем. (Добавление)
самое правильное решение такое
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.