Изменить некоторые пользовательские настройки, но не все из одной формы (PHP, MySQL) - PullRequest
1 голос
/ 08 апреля 2011

Я создаю сайт на PHP, сохраняя дату в базе данных MySQL. Я уже создал свои разделы регистрации, входа в систему, выхода из системы, но я хотел бы сделать вещи более удобными для пользователя и добавить область, где люди могут изменять свои пользовательские настройки. Некоторые параметры, которые я бы хотел изменить для пользователя, следующие:

  • ФИО
  • Адрес электронной почты
  • возраст
  • пол
  • и т.д.

При этом я хотел бы, чтобы они могли заполнять только те части формы, которые они хотели бы обновить. Они должны иметь возможность оставить все остальное без изменений и отправить все свои изменения с помощью одной кнопки отправки.

Будем весьма благодарны за любые предложения относительно лучшего способа решения этой проблемы.

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

EDIT:

Извините, но я должен был упомянуть, что я хочу, чтобы информация не отображалась пользователю (т.е. отображалась в текстовом поле), если они не введены там явно. Насколько я могу судить, это не позволит мне публиковать все данные каждый раз.

Ответы [ 3 ]

2 голосов
/ 08 апреля 2011

У меня есть отличный способ достичь этого. Просто сделайте кодирование if/else в php. Как это -

Код HTML:

<form action="settings.php" method="POST">
       <input type="text" name="full name" />
       <input type="text" name="email" />
       ........ (and more)
</form>

А PHP код ---

<?php
  if($_POST)
  {
   if(isset($_POST['full name'])) { //Update full name of user and redirect to the settings page on success. }
   else { //Redirect and show errors! }
   if(isset($_POST['email'])) { //Update email of user and redirect to the settings page on success. } 
   else { //Redirect and show errors! }      
  }
?>

Или вы можете использовать array функцию из PHP, чтобы задать запросы MySql в нем как ---

<?php
  mysql_query("
    UPDATE table name SET 
    //Loading different values from the array using foreach() php function.
  ");
?>

Просто попробуйте внести в него некоторые изменения.

Надеюсь, это поможет вам.

0 голосов
/ 14 мая 2012

Создайте edit.php или что-то еще. Создайте текстовые поля, которые вы хотите редактировать. Можно показать всю информацию, связанную с уникальным идентификатором пользователя.

input type='text' value='"Example: Select * from users WHERE id = '$userid'"' name'Example: Update_name'

Сделайте это для всех полей, которые вы хотите редактировать. После создания этого edit.php. Используйте скрипт для обновления данных пользователя $_POST или $_GET. На основе этого простого в использовании скрипта у вас есть функция редактирования для пользователя.

0 голосов
/ 08 апреля 2011

Ваш выбор:

1) многоступенчатый процесс редактирования.1. выбрать поля для изменения.2. представить поля для редактирования.3. сохранить обновленные данные.Довольно утомительно

2) представить все поля в форме, но использовать некоторый Javascript, чтобы отслеживать, какие из них были изменены, и отправлять только те

3).представить все поля в форме и обновить все поля в базе данных.если один или несколько не были изменены, обновление в любом случае является нулевой операцией.

3) проще всего реализовать.2) Зависит от JavaScript.1) это утомительно для вас и еще более утомительно для пользователя.

Пока вы правильно проверяете все поля, я не вижу, что # 3 - это не что иное, как наиболее логичный выбор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...