Anton12
30.10.2013 - 10:18
Добрый день. Подскажите как сменить пароля вошедшему пользователю. Или подскажите где можно посмотреть (ресурсы) как это делается(((( Я только начал разбираться( не могу сам сообразить. вот хотелось бы как на картинке сделать смену. спасибо.
Игорь_Vasinsky
30.10.2013 - 10:39
у тебя только html форма? или сайт на каком то движке?
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
exotica
30.10.2013 - 13:01
вопрос не понятен крайне... что не получается то конкретно?
- Сделать такую форму в html?
- Сделать стили как на указаной картинке в css?
- Непонятна логика действия?
- Непонятно как реализовать обработчик такой формы?
что из этого?
_____________
[FAQ]Регистрации пользователей, сохранение в БД---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
Anton12
30.10.2013 - 22:31
дада)) форму я придумал) у меня есть регистрация пользователя. не понятно вобще как сделать обработку данных когда пользователь захочет сменить пароль. и как эти данные потом обновятся в БД. мне хотя бы примерный код(( но работающий)) а то я начинающий ученик. и в двух словах не пойму)
SQL UPDATE
_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."
Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. ©
AllesKlar
exotica
31.10.2013 - 07:24
Ну тут все не так сложно, самая простая логика будет:
- Пользователь авторизовывается
- Заходит на страницу смены пароля
- Там вводит свой старый пароль (чтобы чужой человек подошедший к ПК не сменил пароль нашего юсера)
- Вводит новый пароль
- Вводит подтверждение
- Нажимает кнопочку "Окей"
Если у тебя уже есть авторизация, значит ты знаешь как сделать проверки полей не буду на них останавливаться кроме mysql_real_escape_string().
<?php
session_start();
if(isset $_POST['change'])
{
if(!empty($_POST['lastpass']))
{
if(!empty($_POST['newpass']))
{
if($_POST['comfirmpass'] != $_POST['newpass'])
{
$lastpass = mysql_real_escape_string($_POST['lastpass']);
$newpass = mysql_real_escape_string($_POST['newpass']);
$comfirmpass = mysql_real_escape_string($_POST['comfirmpass']);
$searchuser = "SELECT * FROM `users` WHERE `username`='".$_SESSION['usermane']."' AND `userpass`='".md5($lastpass)."' LIMIT 1";
$searchresult = mysql_query($searchresult);
if(mysql_num_rows($searchresult) > 0)
{
$updatedata = "UPDATE `users` SET `userpass`='".md5($newpass)."' WHERE `username`='".$_SESSION['usermane']."'";
$updateresult = mysql_query($updatedata);
if(mysql_num_rows($updateresult) > 0)
{
echo 'Пароль успешно изменен!';
}
}
else
{
echo 'Старый пароль введен неверно!';
}
}
else
{
echo 'Подтверждение пароля не введено!';
}
}
else
{
echo 'Новый пароль не указан!';
}
}
else
{
echo 'Старый пароль не указан!';
}
}
?>
<form action="" name="changepass" method="POST">
<table>
<tr>
<td>Старый пароль:</td>
<td><input name="lastpass" type="password" value=""></td>
</tr>
<tr>
<td>Новый пароль:</td>
<td><input name="newpass" type="password" value=""></td>
</tr>
<tr>
<td>Подтверждение пароля:</td>
<td><input name="comfirmpass" type="password" value=""></td>
</tr>
<tr>
<td></td>
<td><input name="change" type="submit" value=" Сменить пароль "></td>
</tr>
</table>
</form>
Обрати внимание, в примере используется сессия, ну и собственно наименования полей в таблицах мне неизвестны поэтому обозвал их примерно. ;)
PS: в коде может присутствовать ошибка, так как это первое что пришло в голову, и начеркал по быстрому на работе в блокноте :lol:
_____________
[FAQ]Регистрации пользователей, сохранение в БД---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза