2013-07-19 1 views
0

Я делаю в PHP/MySQL регистрацию пользователя в несколько этапов. Все находится на одной странице. Я объявлял функции для каждого шага и удерживал переменную текущего шага (или следующий, если применяются определенные условия) в $_SESSION. Я также сохраняю значения для каждого шага в $_SESSION, и на последнем шаге я напишу все в базу данных.Регистрация нескольких шагов: связь между php-сессией и переменными javascript

На моем последнем шаге мне нужно работать на стороне клиента, чтобы пользователь мог выбрать несколько городов в своем штате, где они активируются. Я делаю это с автозаполнением jQuery, и исходные данные автозаполнения берутся с использованием AJAX/PHP из базы данных (без необходимости обновления). У меня есть текстовое поле для пользователя, чтобы добавить города и div, где я вставляю выбранные города (позволяя удалять их в случае ввода ошибки). Все это происходит на стороне клиента.

Мне нужно каким-то образом получить массив клиентских сторон выбранных городов (включая city_id, city_name и county_name) и поместить его в $_SESSION, так что, когда мне нужно записать в базу данных, у меня все в порядке.

Как это сделать?

Только вариант, который я имею в виду прямо сейчас, - передать массив JS с ajax в файл php, который будет вставлять в сеанс массив JS. Я думаю сделать это перед представлением страницы и разрешить отправку формы, перейти к следующему шагу, на котором я пишу все в базу данных.

Любые другие варианты?

ответ

1

Ajax является лучшим вариантом

Я хотел бы сделать это «на смену» и уволить его в PHP скрипт, чтобы сохранить его в сессии.

1

Лично я не отправлял случайные биты информации на сервер каждый раз, когда я прошу чего-нибудь от пользователя; это может привести к тому, что у вас будет много маленьких скриптов, обрабатывающих по 1 штуке, или один гигантский и постоянно растущий контроллер (неприятные запахи)

Я бы просто сохранил все в javascript (в Object, или если вы хотите настойчивость на обновлении страницы, используйте localstorage), а затем отправить всю информацию за один шаг на один шаг.

+0

Можете ли вы быть более конкретными? «отправлять случайные бит информации на сервер ...». В основном, что мне нужно сделать, это собрать все города, в которых пользователь активен, а затем, только тогда, я хочу отправить данные в php $ _SESSION. – Cristian

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