Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Изменение личных данных пользователя. Структура SQL - запроса.

Сообщения:  [1-10]   [11-16] 

 
 автор: evgen_17   (05.03.2005 в 00:31)   письмо автору
 
   для: glsv (Дизайнер)   (05.03.2005 в 00:07)
 

Да, да, спасибо, разобрался...

   
 
 автор: glsv (Дизайнер)   (05.03.2005 в 00:07)   письмо автору
 
   для: evgen_17   (04.03.2005 в 14:41)
 

В первом случае, видимо, путаются кавычки. Попробуйте так.

<?
$query =  "UPDATE users SET pwd ='".$_POST["pwd"]."', mail='".$_POST["mail"]."'  WHERE uid='$uid'";
mysql_query($query);
?>

Т.е. все обновляемые данные обрамлять кавычками.
Ваш второй вариант тоже должен работать.

   
 
 автор: evgen_17   (04.03.2005 в 14:41)   письмо автору
 
   для: glsv (Дизайнер)   (04.03.2005 в 01:03)
 

Я пробовал писать так:

<?
//Часть кода
UPDATE users SET pwd ="$_POST['pwd']", mail="$_POST['mail']"  WHERE uid='$uid'
?>

Не работает пароль обновляется, а mail нет...
Может нужно так:

<?
$pwd = $_POST['pwd'];
$mail = $_POST['mail];
UPDATE users SET pwd ='$pwd', mail='$mail'  WHERE uid='$uid'
?>

   
 
 автор: glsv (Дизайнер)   (04.03.2005 в 01:03)   письмо автору
 
   для: evgen_17   (03.03.2005 в 22:26)
 

Нужно обновить поле mail

UPDATE users SET pwd ='$pwd', mail='$mail'  WHERE uid='$uid'

   
 
 автор: evgen_17   (03.03.2005 в 22:26)   письмо автору
 
   для: Valeri   (03.03.2005 в 16:49)
 

Ну хорошо. с изменением пароля разобрались... А если мне не только пароль нужно поменять? А например ещё и E-Mail?

   
 
 автор: Valeri   (03.03.2005 в 16:49)   письмо автору
 
   для: glsv (Дизайнер)   (03.03.2005 в 01:36)
 

просто сделайте такую проверку, что приходит на замкну, допишите

<?
    $query = mysql_query("UPDATE users SET pwd ='$pwd' WHERE uid='$uid'"); 
    if($query)
    {
        echo ("Данные успешно изменены. логин -$uid , паоль - $pwd'");
    }
    else
    {
        echo ("Данные не изменены. логин -$uid , паоль - $pwd'");
    }
 ?>


и сразу будет видно пришли измененые данные или нет.

   
 
 автор: glsv (Дизайнер)   (03.03.2005 в 01:36)   письмо автору
 
   для: evgen_17   (03.03.2005 в 00:16)
 

Вы уверены, что в сессиях у вас уже новый пароль? Ведь это смена пароля через форму? Может быть нужно использовать массив $_POST?

$pwd = $_POST["pwd"];

   
 
 автор: evgen_17   (03.03.2005 в 00:16)   письмо автору
 
   для: Artem S.   (27.02.2005 в 23:37)
 

Переписал код обработчика на такой:

<?
session_start();
  
    $uid = $_SESSION['uid'];
    $pwd = $_SESSION['pwd'];
    
    db_connect();
    
    $query = mysql_query("UPDATE users SET pwd ='$pwd' WHERE uid='$uid'"); 
    if($query)
    {
        echo ("Данные успешно изменены.");
    }
    else
    {
        echo ("Данные не изменены.");
    }
        
    db_disconnect();
    

?>

Пишет "Данные успешно изменнены", а в БД ничего не меняется... Тут что-то нет так?

   
 
 автор: evgen_17   (28.02.2005 в 23:14)   письмо автору
 
   для: cheops   (28.02.2005 в 22:54)
 

Нет точно не пустой... В строку "Имя" пишется переменная, которая была и на прошлой странице...

   
 
 автор: cheops   (28.02.2005 в 22:54)   письмо автору
 
   для: evgen_17   (28.02.2005 в 22:36)
 

А у вас $_SESSION['uid'] не пустой? Попробуйте напрямую сначала передать данные в запрос
<?php
    $uid = $_POST['uid'];
    $pwd = $_POST['pwd'];
?>

   

Сообщения:  [1-10]   [11-16] 

Форум разработан IT-студией SoftTime