Спустя 18 минут, 34 секунды (6.10.2011 - 00:00) dadli написал(а):
Цитата |
Пишу скрипт за скриптом - не работает |
а например какои скрипт ви пишите?
Спустя 2 минуты, 42 секунды (6.10.2011 - 00:02) strannic написал(а):
Регистрации на сайте - личный кабинет.
Спустя 17 минут, 48 секунд (6.10.2011 - 00:20) ancient mariner написал(а):
Очень упрощённо, принцип:
1) Предварительно получаете id нужного юзера из БД, записываете в переменную (например, $id);
2) Получаете пользовательский пароль, хэшируете
3) Обновляете графу с паролем у юзера, id которого равен id, предварительно полученного вами.
Вот и всё :)
1) Предварительно получаете id нужного юзера из БД, записываете в переменную (например, $id);
2) Получаете пользовательский пароль, хэшируете
3) Обновляете графу с паролем у юзера, id которого равен id, предварительно полученного вами.
// сначала подключаемся, выбор БД и т.д.
$newpassword = md5 ('новый пароль');
mysql_query ("UPDATE `имя_таблицы` SET `имя_поля_с_паролем` = '". $newpassword ."' WHERE `имя_таблицы`.`id` = '". $id . "' LIMIT 1);
Вот и всё :)
Спустя 10 минут, 29 секунд (6.10.2011 - 00:31) PandoraBox2007 написал(а):
кажеться для защиты от дурака нужно еще в условие добавить WHERE `имя_поля_с_паролем` = '$old_password'
а то можно накликать беду =)
а то можно накликать беду =)
Спустя 1 час, 18 минут, 6 секунд (6.10.2011 - 01:49) imbalance_hero написал(а):
strannic
В БД хеш рандомной строки, на мыло ссылку, "вы можете авторизироваться пройдя по данной ссылке". Страница востановления проверяет хеш в БД и переданный в строге GET.
В БД хеш рандомной строки, на мыло ссылку, "вы можете авторизироваться пройдя по данной ссылке". Страница востановления проверяет хеш в БД и переданный в строге GET.
Спустя 7 часов, 10 минут, 7 секунд (6.10.2011 - 08:59) strannic написал(а):
А можно по подробнее.
Спустя 8 часов, 9 минут, 25 секунд (6.10.2011 - 17:08) Jimmbo написал(а):
Цитата |
mysql_query ("UPDATE `имя_таблицы` SET `имя_поля_с_паролем` = '". $newpassword ."' WHERE `имя_таблицы`.`id` = '". $id . "' LIMIT 1); |
Не работает

Цитата |
mysql_query ("UPDATE `users` SET `my` = '$my' WHERE `users`.`id` = '$id' LIMIT 1); |
Спустя 19 минут, 29 секунд (6.10.2011 - 17:28) imbalance_hero написал(а):
strannic
Как $_GET сравнить с БД и при совпадении - авторизировать?!
Как $_GET сравнить с БД и при совпадении - авторизировать?!

Спустя 12 минут, 58 секунд (6.10.2011 - 17:41) strannic написал(а):
Как поменять пароль я вроде понял, а как зделать таксим образом -
сгенерировал, записал в id в хеше в таблицу юзеров. Выслал ссылку на почту юзера. При переходе по ссылке с почты, сверяешь id с ссылки с id в базе, если совпадает то даешь изменить пароль и удаляешь id ссылки восстановления с бд.
Если не совпадает, удаляешь ссылку с таблицы через сутки кроном.
Спустя 1 час, 42 минуты (6.10.2011 - 19:23) imbalance_hero написал(а):
strannic
Ты вверху генерировал, а сейчас уже не можешь? Или записать сгенерированный "новый пароль", который уже не пароль, а хеш в отдельное поле... это сделал? Делай по пунктам, какой пункт непонятен - спрашивай.
Ты вверху генерировал, а сейчас уже не можешь? Или записать сгенерированный "новый пароль", который уже не пароль, а хеш в отдельное поле... это сделал? Делай по пунктам, какой пункт непонятен - спрашивай.
Спустя 52 минуты, 50 секунд (6.10.2011 - 20:15) strannic написал(а):
Меня интересует - способ выслать ссылку на почту юзера и при возврате по ссылке на .... как сформировать страницу для смены пароля.
Спустя 15 минут, 26 секунд (6.10.2011 - 20:31) imbalance_hero написал(а):
Всмысле? Ссылку вставляешь как http://site.ru/page.php?cash=сюда кеш, который будет сверяться.
Я тебя не понимаю, способы выслать ссылку бывают разные? Обычное ПИСЬМО, в нём ОБЫЧНОЕ СОДЕРЖАНИЕ, в СОДЕРЖАНИИ ССЫЛКА!
Сменить пароль из ЛИЧНОГО КАБИНЕТА пользователя.
Я тебя не понимаю, способы выслать ссылку бывают разные? Обычное ПИСЬМО, в нём ОБЫЧНОЕ СОДЕРЖАНИЕ, в СОДЕРЖАНИИ ССЫЛКА!
Сменить пароль из ЛИЧНОГО КАБИНЕТА пользователя.
Спустя 5 часов, 16 минут, 23 секунды (7.10.2011 - 01:47) strannic написал(а):
Проверяю введенный пароль на соответствие с действительным в базе. Выдает - Введён не верный пароль
Может что то с md5.
if($pass != $arr['pass']){return exit("Введён не верный пароль");}
Может что то с md5.
Спустя 1 час, 47 минут, 6 секунд (7.10.2011 - 03:34) imbalance_hero написал(а):
strannic
Проснулись... ты это к чему?
Проснулись... ты это к чему?
Спустя 1 минута, 11 секунд (7.10.2011 - 03:36) imbalance_hero написал(а):
// if($pass != $arr['pass']){return exit("Введён не верный пароль");}
echo 'if('.$pass.' != '.$arr['pass'].')';
Спустя 12 часов, 51 минута, 36 секунд (7.10.2011 - 16:27) strannic написал(а):
Проснулся! Хочу спросить, при смене пароля не плучается проверить на соответствие старый пароль.
Меняет пароль не смотря какой я ввел старый.
$id = $_SESSION['id'];{.................................
// Сравниваем пароли
if($data['pass'] === md5($_POST['pass']))
if($data['pass'] !== md5($_POST['pass'])){return exit("Введен неверный пароль.");}
Меняет пароль не смотря какой я ввел старый.
Спустя 4 часа, 55 минут, 15 секунд (7.10.2011 - 21:22) PandoraBox2007 написал(а):
для начала упрости
// Сравниваем пароли
if( !empty($_POST['pass']) && $data['pass'] == md5($_POST['pass']) )
{
// код если правильно ввел пароль
} else {
die("Введен неверный пароль или строка пароля пуста.");
}
Спустя 51 минута, 7 секунд (7.10.2011 - 22:14) strannic написал(а):
Ставлю скрипт - При любом раскладе выдает ("Введен неверный пароль или строка пароля пуста.").
Спустя 8 минут, 24 секунды (7.10.2011 - 22:22) strannic написал(а):
При любом раскладе выдает ("Введен неверный пароль или строка пароля пуста.").
<?
include_once('reat.tpl');
$id = $_SESSION['id'];{
//Обрабатываем наши поля чтобы нам не написали html или js код
$pass = trim(htmlspecialchars($_POST['pass'],ENT_QUOTES));
$newpass = trim(htmlspecialchars($_POST['newpass'],ENT_QUOTES));
$newpas = trim(htmlspecialchars($_POST['newpas'],ENT_QUOTES));
stripslashes($pass);
stripslashes($newpass);
stripslashes($newpas);
//Проверка на пустоту
if($pass == "" && $newpass == "" && $newpas == ""){return exit("Не все поля заполненны");}
// Сравниваем пароли
if( !empty($_POST['pass']) && $data['pass'] == md5($_POST['pass']) )
{
// код если правильно ввел пароль
} else {
die("Введен неверный пароль или строка пароля пуста.");
}
//Если норм, меняем пароль данному юзеру на тот который сгенерировали выше
$pass = md5($newpass);
//Запоминаем сессию
$update = mysql_query ("UPDATE users_nov SET pass = '$pass' WHERE id_users = '$id'")or die(mysql_error());
{
echo "Пароль успешно изменен,";}
}
?>
Спустя 27 минут, 11 секунд (7.10.2011 - 22:49) dadli написал(а):
вот ето напишите в етом в фаиле и смотрите, что виведет ?
echo '$_POST[\'pass\'] = '.$_POST['pass'];
echo "<br>";
echo '$data[\'pass\'] = '.$data['pass'];
Спустя 2 минуты, 14 секунд (7.10.2011 - 22:51) Игорь_Vasinsky написал(а):
1. чё за скобка?
Цитата |
$id = $_SESSION['id'];{ |
2. && смени на || и + empty()
if(empty($pass) || empty($newpass) || empty($newpas)){return exit("Не все поля заполненны");}
3.
сделай вывод
echo $data['pass'] . '<br/>';
echo md5($_POST['pass']);
они одинаковы?
Чё за чудесный код?
Цитата |
if( !empty($_POST['pass']) && $data['pass'] == md5($_POST['pass']) ) { // код если правильно ввел пароль } else { die("Введен неверный пароль или строка пароля пуста."); } |
в if коментарий исполниться... весело, не проще идти от обратного или вставить туда
Цитата |
$update = mysql_query ("UPDATE users_nov SET pass = '$pass' WHERE id_users = $id")or die(mysql_error()); |
а это?
Цитата |
{ echo "Пароль успешно изменен,";} } |
Те с нуля надо писать всё. даже разгребать не охото.
Спустя 16 минут, 28 секунд (7.10.2011 - 23:08) imbalance_hero написал(а):
да там просто md5 нужно убрать.
Спустя 5 минут, 41 секунда (7.10.2011 - 23:14) Игорь_Vasinsky написал(а):
так он в БД хешем храниться... должен.
Спустя 24 минуты, 41 секунда (7.10.2011 - 23:38) strannic написал(а):
Все работает. дефект в том что не выдает ошибки при неправельном старом пароле.
Спустя 10 минут, 44 секунды (7.10.2011 - 23:49) Игорь_Vasinsky написал(а):
Эта проверка?
$data['pass'] == md5($_POST['pass']