Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Php немного разобрался как всё устроено

pasha1neo Ученик (238), на голосовании 4 года назад
Вот при обработке формы обычно показаны случаи что после нажатия на submit
идёт переход к обработчику формы типо:
захожу на сайт index.php нажимаю submit и меня перекидывает на handle.php

Можно ли подсказать как сделать так что бы:
Я захожу на сайт открываю форму (она на той же странице только не отображена (вроде бы её модальной назвать можно))
ввожу данные и нажимаю кнопку submit и идёт отправка данных и сайт просто обновляется и появляется признак что - здравствуйте вы вошли.

Потому что мне не понятно мне нужно делать две страницы одна для гостей другая для авторизированных пользователей?
Голосование за лучший ответ
dim565 Искусственный Интеллект (424764) 4 года назад
Да, вы можете указать в атрибуте action формы файл index.php (или просто /) и написать в этом же файле (где-нибудь повыше) код аутентификации, что-нибудь наподобие:
if (isset ($_POST['login'])) { // если в POST содержится поле login (имя поля из отправленной формы)
// код аутентификации
}

Две страницы делать не нужно, когда нужно проверяете статус аутентификации (нужно хранить в сессиях или cookie) и показываете содержимое либо для гостей, либо для авторизированных пользователей
pasha1neoУченик (238) 4 года назад
спасибо теперь у меня появились идеи как всё можно реализовать
Саня Семенов Оракул (60497) 4 года назад
Проще будет если с главной форма авторизации будет слать данные на login.php который в случае успешной авторизации вернёт редирект обратно на главную ну или на refferer_url (т е туда откуда пришел) так будет лучше потомучто
1)в таком случае авторизоваться можно будет с любой страницы сайта заполнив форму во всплывающем окне
2) избавившся от проблем с post-get редиректом когда браузер шлёт повторно скрытые данные при обновлении страницы
3) код авторизации будет проще и отделен в отдельный файл
4) можно будет потом сделать подгрузку через ajax
5) авторизованного пользователя можно сложить в сессию например в поле auth_user и на остальных страницах проверять только это поле и по нему определять авторизован или гость
Похожие вопросы