2011-12-13 2 views
0

У меня есть страница, которая показывает список элементов. Страница, закодированная с помощью html, css, php и с использованием mysql db.Правильно ли моя логика? Ajax и/или PHP с Mysql

На этой странице пользователь может запросить добавление одного из предметов в свой специальный список.

Я хочу сделать это на странице без необходимости обновлять страницу. Таким образом, пользователь нажимает кнопку для добавления, элемент добавляется в их список и кнопка изменяется, поэтому они не могут добавить ее снова.

Я пользуюсь вызовами ajax для запуска кода за страницей, а затем обновляет div?

Или есть более эффективный способ сделать это.

Я предпочел бы вариант php возможного в случае, если пользователь отключил js, но не знает, можно ли это сделать с помощью js.

Любая помощь приветствуется.

+2

Короче говоря, вы правы. нет только php-метода, который не будет обновлять всю страницу, проверьте, есть ли у них js или предупреждают. –

ответ

2

Если вам нужен динамический контент (изменение страницы без обновления), вам придется использовать Javascript. Чтобы выполнить то, что вы просите, вы можете вызвать скрипт PHP через Ajax, который выводит содержимое div с новым элементом, а затем меняет div на основе этого ответа.

0

Дагон - это точно. Создайте форму, которая обрабатывает запрос и задает действие формы скрипту PHP, который вы хотите обработать. Обратите внимание, что хотя это может быть тот же php-скрипт, который вы используете для обработки вашего запроса ajax, это необязательно.

Много раз, когда я реализую такую ​​функциональность, я буду устанавливать PHP для отправки переменных как POST (в случае отключения JS) и иметь мой запрос ajax как GET, поэтому я могу использовать одну страницу PHP для обработки «тот же» запрос. При использовании AJAX у меня будет сценарий эхо-кода, а затем возвращаемый дескриптор ответа ajax.

if(val == 'OK') { 
//in event of success, perhaps you want to hide the original form and show a success message 
} else { 
    //do something like unhide a hidden div to display an error 
} 
0

Если JavaScript отключен, страница должна быть перезагружена. В вашем случае jQuery может быть очень удобным и просто переписать элемент, который вам нужно переписать. Сервер отправляет простой json. Использование PHP Framework также может быть хорошей идеей, поскольку, как вы просите, кажется (с уважением и не желая оскорблять), что вы не используете какую-либо фреймворк и можете столкнуться с падением, делая ваш скрипт уязвимым (например, для SQL-инъекций)

Если у вашего посетителя нет встроенного JavaScript и вы хотите обслуживать в любом случае, вам необходимо перезагрузить страницу. Сначала проверьте, стоит ли это делать, кто ваш клиент/посетитель, какой браузер они используют, ... такие вопросы помогут вам создать свою страницу/приложение.

Смежные вопросы