Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для Nishen
1357 / 856 / 365
Регистрация: 26.02.2015
Сообщений: 3,813

PHP, MVC и AJAX

19.03.2016, 15:41. Показов 1282. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую всех!
Начал разбираться с MVC и в данный момент делаю авторизацию на сайте. Возник вопрос, можно ли использовать технологию AJAX при регистрации, ведь по сути, это такие же GET/POST запросы, только без обновления страницы.

Я себе это представляю следующим образом:

1. Пользователь вводит логин и пароль в форму;
2. Нажимает на кнопку, события которой обрабатывает функция JavaScript someFunction();
3. Функция someFunction() передает через POST запрос посредством AJAX данные (логин и пароль) в контроллер someController.php;
4. В контроллере someController.php вызывает необходимый метод someMethod();
5. Данный метод вызывает метод getData(), который принадлежит модели someModel.php.
6. Метод getData() делает выборку из БД, сопоставляет данные и т.д. и возвращает результат в контроллер someController.php в виде булевой переменной (true - авторизовались, false - нет);

Что дальше? В зависимости от полученного ответа может ли контроллер someController.php просто выдать
PHP
1
echo "Неверный логин или пароль"
или он должен будет обязательно вызвать какой-нибудь вид?

И вообще, правильно ли я описал всю последовательность действий?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.03.2016, 15:41
Ответы с готовыми решениями:

PHP(MVC)+JS+AJAX+MYSQL+JSON
Здравствуйте!!! Извините ,за еще одну тому по AJAX+MVC. Но по ходу я не втыкаю((( Может ли кто нибудь скинуть пример небольшой MVC на PHP с...

MVC PHP AJAX принять обработать вернуть
Добрый день всем форумчанам. Решил создать данную тему, так как почитал то что уже есть на форуме и если честно, то решения так и не...

MVC и AJAX
Сайт написан на архитектуре MVC, состоит из файлов модели, представления и контроллеров. Существует базовый контроллер и по контроллеру...

10
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
19.03.2016, 16:08
В целом рассуждения верные, но вопросы не те.
Цитата Сообщение от Nishen Посмотреть сообщение
Что дальше? В зависимости от полученного ответа может ли контроллер someController.php просто выдать
Может. Очень много что может.
Цитата Сообщение от Nishen Посмотреть сообщение
или он должен будет обязательно вызвать какой-нибудь вид?
Он должен делать то, что вы хотите. Хотите вернуть вид, возвращайте вид.

Лично я при авторизации возвращаю json. В js уже обрабатываю этот ответ. Если какая то ошибка, то показываю ее пользователю. Если все норм, то обновляю страницу. Обновление делаю потому что после авторизации на странице меняется несколько элементов. Гораздо удобнее обновить страницу, чем вручную менять их.

p.s. выводить в контроллере что-либо через echo имхо бред. Разве что для отладки.
1
 Аватар для Nishen
1357 / 856 / 365
Регистрация: 26.02.2015
Сообщений: 3,813
19.03.2016, 16:45  [ТС]
Цитата Сообщение от tarasalk Посмотреть сообщение
Он должен делать то, что вы хотите. Хотите вернуть вид, возвращайте вид.
Нет, я хотел спросить, как это делать правильнее. :-)
Цитата Сообщение от tarasalk Посмотреть сообщение
возвращаю json
Т.е. ты в моделе формируешь JSON, передаешь его в контроллер и вызываешь тот же вид?

Добавлено через 1 минуту
Цитата Сообщение от tarasalk Посмотреть сообщение
на странице меняется несколько элементов.
Да, кстати, у меня авторизация находится на отдельной странице. Т.е. после того, как пользователь авторизовался, он переходит на главную страницу. Без авторизации он вообще не может куда-либо попасть.

Добавлено через 6 минут
А-а-а, я понял. JSON ведь возвращается из контроллера прямиком в JavaScript функцию, а там-то ты уже и обрабатываешь JSON. Спасибо тебе огромнейшее!
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
19.03.2016, 16:57
Цитата Сообщение от Nishen Посмотреть сообщение
Т.е. ты в моделе формируешь JSON, передаешь его в контроллер и вызываешь тот же вид?
Json возвращает сам контроллер. А уже js обрабатывает ответ сервера, если надо показывает ошибку или обновляет страницу итп.
Цитата Сообщение от Nishen Посмотреть сообщение
Да, кстати, у меня авторизация находится на отдельной странице. Т.е. после того, как пользователь авторизовался, он переходит на главную страницу. Без авторизации он вообще не может куда-либо попасть.
Ну тут очевидно нужно сделать редирект с обновлением страницы. Вы можете конечно через ajax возвращать вид и большими кусками заменять части страницы...но зачем?
0
 Аватар для Nishen
1357 / 856 / 365
Регистрация: 26.02.2015
Сообщений: 3,813
19.03.2016, 18:12  [ТС]
tarasalk, слушай, а ещё такой вопрос. Файлы JavaScript, CSS и т.д. необходимо подключать в нужном виде или же их где-то в одном месте подключают обычно?
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
19.03.2016, 18:17
Nishen, я делаю главный шаблон со всем необходимым, от которого наследуются все остальные.
0
 Аватар для Nishen
1357 / 856 / 365
Регистрация: 26.02.2015
Сообщений: 3,813
19.03.2016, 18:31  [ТС]
Цитата Сообщение от tarasalk Посмотреть сообщение
я делаю главный шаблон со всем необходимым, от которого наследуются все остальные.
Не совсем понял, как это. Т.е. есть файл, например, templateView.php, а от него наследуются файлы 404View.php, authView.php и т.д? А как происходит наследование в таком случае?
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
19.03.2016, 18:34
Nishen, тут в соседней теме как раз это обсуждается. Там правда велосипед хотят писать, а вы можете воспользоваться готовыми шаблонизаторами.
0
 Аватар для Nishen
1357 / 856 / 365
Регистрация: 26.02.2015
Сообщений: 3,813
19.03.2016, 18:39  [ТС]
Цитата Сообщение от tarasalk Посмотреть сообщение
велосипед хотят писать
Ха-ха! Я на диплом делаю, поэтому чем больше сделаю руками, тем будет лучше. Ладно, спасибо за указание направления, пойду читать.
0
19.03.2016, 19:02

Не по теме:


Цитата Сообщение от Nishen Посмотреть сообщение
Я на диплом делаю, поэтому чем больше сделаю руками, тем будет лучше
Открою секрет. Велика вероятность что код в лучшем случае быстренько пролистают...а вот навыки освоения и применения готовых решений ценятся выше.

0
20.03.2016, 10:01  [ТС]

Не по теме:

Цитата Сообщение от tarasalk Посмотреть сообщение
Открою секрет. Велика вероятность что код в лучшем случае быстренько пролистают...а вот навыки освоения и применения готовых решений ценятся выше.
Подумал над твоими словами и соглашусь с тобой.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.03.2016, 10:01
Помогаю со студенческими работами здесь

MVC подход и Ajax
Всем привет. Решил создать данную тему, так как много вопросов по MVC и AJAX но толком как и что делать не сказано. Это и не удивительно,...

MVC с использованием Ajax
Здравствуйте, уже перерыл пол гугла но ответа не нашол, понадобилось добавить проверку занятости Email при регистрации. Так вот решил...

MVC и ajax обработка клика
Всем привет. Пишу тестовый проект на php (ОПП MVC). Структура папки "App" у меня такая: Core, Controllers, Views, Models На вьюшке...

Как использовать AJAX в MVC соблюдая ООП?
Делаю сайт с соблюдением MVC т.е. у меня есть одна страница входа и в зависимости от параметров переданных на нее, создается необходимый...

PHP и MVC
Приветствую всех! Пытаюсь создать сайт с использованием MVC. За основу взял код из статьи на Хабрахабре. Я хочу сделать авторизацию на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru