Когда пользователь создает свою собственную учетную запись, если есть ошибка, я хочу перенаправить ее на ту же страницу, но отобразите ошибки наверху.Отправка сообщений об ошибках на другую страницу?
Каков наилучший способ для этого?
Когда пользователь создает свою собственную учетную запись, если есть ошибка, я хочу перенаправить ее на ту же страницу, но отобразите ошибки наверху.Отправка сообщений об ошибках на другую страницу?
Каков наилучший способ для этого?
Структура вашей страницы следующим образом (в грубом псевдокоде)
if (doing a post) {
process input
if (post is ok) {
redirect to success page
} else {
build error messages
}
}
if (error messages available) {
display errors
}
display form(filled in with previously submitted values)
Вот что я делаю, но есть ли способ сделать это, не комбинируя PHP и HTMl на одной странице –
, конечно, используйте систему шаблонов. но независимо от того, какую систему шаблонов вы используете, в НЕКОТОРЫХ точках код/html должны смешиваться. –
откладываю ошибку в сессии и удалить ее, когда она была оказана. Поскольку вы, вероятно, прекратите выполнение страниц при перенаправлении, он никогда не достигнет кода, ответственного за рендеринг, тем самым оставив его в сеансе.
Мне нравится создавать функцию с именем set_feedback()
, которая устанавливает ошибку в переменной сеанса. то у меня есть эта другая функция get_feedback()
, которая извлекает информацию и отменяет переменную.
Почему перенаправление? Почему бы вам просто не напечатать ошибку? Используйте шаблон, если хотите отделить обработку данных от вывода данных. – Gumbo
Поскольку, если пользователь заполняет поля ввода и вводит неверную информацию, когда они нажимают «register», я хочу, чтобы они были перенаправлены на страницу регистрации и рассказали об ошибке. –
Просто отправьте данные формы на одну страницу и выполните проверку там до вывода формы. Затем вы можете распечатать ошибку и заполнить форму. – Gumbo