Пустой пароль уходит в базу
Здравствуйте, у меня есть поле с паролем user_ppwd в таблице пользователей, я вывел его для заполнения через шаблон и в profile.php сделал изменения: было
$password1 = $_POST['password1']; $password2 = $_POST['password2'];
стало
$password1 = $_POST['password1']; $password2 = $_POST['password2']; $user_ppwd = $_POST['user_ppwd'];
было
if( strlen( $password1 ) > 0 ) { $password1 = md5( md5( $password1 ) ); $sql_user = "UPDATE " . USERPREFIX . "_users set ".$where_lb.", fullname='$fullname', land='$land', icq='$icq',{$mailchange} info='$info', signature='$signature', password='$password1', allow_mail='$allow_mail', xfields='$filecontents', allowed_ip='$allowed_ip' WHERE user_id = '{$id}'"; } else { $sql_user = "UPDATE " . USERPREFIX . "_users set ".$where_lb.", fullname='$fullname', land='$land', icq='$icq',{$mailchange} info='$info', signature='$signature', allow_mail='$allow_mail', xfields='$filecontents', allowed_ip='$allowed_ip' WHERE user_id = '{$id}'"; }
Стло
if( strlen( $password1 ) > 0 ) { $password1 = md5( md5( $password1 ) ); $sql_user = "UPDATE " . USERPREFIX . "_users set ".$where_lb.", fullname='$fullname', land='$land', icq='$icq',{$mailchange} info='$info', signature='$signature', password='$password1', allow_mail='$allow_mail', xfields='$filecontents', allowed_ip='$allowed_ip' WHERE user_id = '{$id}'"; } else { $sql_user = "UPDATE " . USERPREFIX . "_users set ".$where_lb.", fullname='$fullname', land='$land', icq='$icq',{$mailchange} info='$info', signature='$signature', allow_mail='$allow_mail', user_ppwd='$user_ppwd', xfields='$filecontents', allowed_ip='$allowed_ip' WHERE user_id = '{$id}'"; }
Вот, всё хорошо, люди заполняют, пароль уходит в базу, но когда поле не заполнять, оставлять пустым, уходит пустой запрос для этого поля, и пароль обнуляеться, как исправить?
Источник: dle-faq.pro