Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2016, 18:03   #1
PHP_DELETANT
Пользователь
 
Регистрация: 31.01.2016
Сообщений: 31
По умолчанию Редактирование профиля

Задача редактирование профиля(страна, адрес, телефон, индекс, и тд ) пользователя самим пользователем на сайте.
Редактировать пользователь может желаемый из параметров введя новый и нажав кнопку ОК. Те поля которые пользователь не заполнил считать, что их не нужно редактировать.

сделал, что пользователь может отредактировать один параметр.



Код:
if    (isset($_POST['adress']))  { $adress = $_POST['adress']; }
       $result = mysql_query("UPDATE users SET    adress='$adress' WHERE login='$old_login'",$db);//обновляем adress

            if ($result=='TRUE') {//если верно, то обновляем

            echo "Данные успешно изменены"
но параметров несколько и если я для остальных прописываю такой же код, то он не работает
Код:
if    (isset($_POST['adress'])) {$adress = $_POST['adress'];}
	if    (isset($_POST['siti'])) {$siti = $_POST['siti'];}
        $result = mysql_query("UPDATE users SET    adress='$adress',siti='$siti' WHERE login='$old_login'",$db);

            if ($result=='TRUE') {//если верно, то обновляем

            echo "Данные успешно изменены"
и еще,
если поля оставить пусты и нажать кнопку ОК, то код считает что пользователь хочет поменять данные на пустоту и они стирается в базе.

Последний раз редактировалось PHP_DELETANT; 02.02.2016 в 18:06.
PHP_DELETANT вне форума Ответить с цитированием
Старый 02.02.2016, 19:09   #2
record222
Форумчанин
 
Регистрация: 23.09.2009
Сообщений: 127
По умолчанию

Выводишь все данные пользователя в форму.
После отправки формы, изменяешь все параметры на новые, которые указал пользователь и все...
record222 вне форума Ответить с цитированием
Старый 02.02.2016, 19:19   #3
PHP_DELETANT
Пользователь
 
Регистрация: 31.01.2016
Сообщений: 31
По умолчанию

Цитата:
Сообщение от record222 Посмотреть сообщение
Выводишь все данные пользователя в форму.
После отправки формы, изменяешь все параметры на новые, которые указал пользователь и все...
Либо я туплю либо что то еще


Код:
if    (isset($_POST['adress']))  { $adress = $_POST['adress']; }///пользователь ввел новый адрес
       $result = mysql_query("UPDATE users SET    adress='$adress' WHERE login='$login'",$db);//сохраняям адрес

            if ($result=='TRUE') {//если верно, то обновляем

            echo "Данные успешно изменены"
но параметров несколько и если я для остальных прописываю такой же код, то он не работает


Код:
if    (isset($_POST['adress'])) {$adress = $_POST['adress'];}//пользователь ввел новый адрес
	if    (isset($_POST['siti'])) {$siti = $_POST['siti'];}//пользователь ввел новый город
        $result = mysql_query("UPDATE users SET    adress='$adress',siti='$siti' WHERE login='$login'",$db);//сохраняем в базу

            if ($result=='TRUE') {//если верно, то обновляем

            echo "Данные успешно изменены"
не работает
PHP_DELETANT вне форума Ответить с цитированием
Старый 02.02.2016, 19:31   #4
PHP_DELETANT
Пользователь
 
Регистрация: 31.01.2016
Сообщений: 31
По умолчанию

так же если пользователь не меняет скажем свой город
делаю так
Код:
if    ((isset($_POST['sity'])) == ''){$sity = mysql_query("SELECT sity FROM users WHERE login='$login'",$db);}

вроде должно работать по логике - если поле ввода ГОРОД пустое, то присваиваем значение переменной $sity значение sity из базы

Последний раз редактировалось PHP_DELETANT; 02.02.2016 в 19:43.
PHP_DELETANT вне форума Ответить с цитированием
Старый 02.02.2016, 19:36   #5
PHP_DELETANT
Пользователь
 
Регистрация: 31.01.2016
Сообщений: 31
По умолчанию

так, если пользователь вводит параметры все сделал, но если оставляет поле пустым, как сделать что бы данные не удалялись с базы ??
PHP_DELETANT вне форума Ответить с цитированием
Старый 03.02.2016, 13:07   #6
record222
Форумчанин
 
Регистрация: 23.09.2009
Сообщений: 127
По умолчанию

PHP код:
$_POST array_map('trim'$_POST);
/* 
$sity = !empty($_POST['sity']) ? $_POST['sity'] : '';
$adress = !empty($_POST['adress']) ? $_POST['adress'] : '';
*/
extract($_POST);

if (!empty(
$sity))
      
mysql("UPDATE users SET siti='$sity' WHERE login='$login'");

if (!empty(
$adress)) 
      
mysql("UPDATE users SET adress='$adress' WHERE login='$login'");
.... 
record222 вне форума Ответить с цитированием
Старый 03.02.2016, 15:11   #7
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

а еще лучше .. .при редактировании профиля выводить ВСЕ текущие значения в соответствующие им поля, а потом сохранять ВСЕ переданные поля - и не будет проблем. То есть если в БД уже была запись adres="moscow" в форме
<input type="text" name="adres" value="'.$adres.'"> и при сохранении все останется
именно это и подразумевает редактирование ......
иначе у вас не редактирование профиля получается - а ерунда какая то... типа ввода значений вслепую... типа - не знаю был ли там город и какой - введу ка чего нибудь....
ADSoft вне форума Ответить с цитированием
Старый 05.02.2016, 22:26   #8
PHP_DELETANT
Пользователь
 
Регистрация: 31.01.2016
Сообщений: 31
По умолчанию

ок спасибо друзья
PHP_DELETANT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
при введения в edit1 имя профиля на facebook отображать фото профиля alman12 Общие вопросы Delphi 10 05.06.2014 08:17
Построение профиля в MS Excel Hanneton Помощь студентам 7 23.10.2013 15:05
Нарушение профиля HellMercenariess О форуме и сайтах клуба 6 25.08.2012 11:43
PHP/просмотр профиля lost name PHP 5 07.05.2012 18:33
Редактирование вида профиля в сообщениях VBulletin TurboDizel WordPress и другие CMS 6 18.01.2011 23:24