За последние 24 часа нас посетили 55002 программиста и 1721 робот. Сейчас ищут 1904 программиста ...

Как сделать смену пароля?

Тема в разделе "Прочие вопросы по PHP", создана пользователем Jameses, 6 май 2013.

  1. Jameses

    Jameses Новичок

    С нами с:
    6 май 2013
    Сообщения:
    81
    Симпатии:
    0
    Вот у меня смена пароля:
    Код (Text):
    1.           <td>Введите новый пароль:</td>
    2.           <td>
    3.                <form action='save_edit.php' method='post'>
    4.                <input name='password' type='text'>
    5.                <input type='submit' name='submit' value='Изменить'>
    6.                </form>
    7.             </td>
    8.          </tr>             
    9.         </div>
    Это был change-pass.php,а вот save_edit.php:
    Код (Text):
    1. <?php      
    2. ////////Изменение Пароля
    3.  
    4.     if (isset($_POST['password'])){//Если существует пароль
    5.     $password = $_POST['password'];
    6.     $password = stripslashes($password);
    7.     $password = htmlspecialchars($password);
    8.     $password = trim($password);//удаляем все лишнее
    9.    
    10.     if ($password == '') {
    11.         exit("Вы не ввели пароль<br><a href='change-pass.php'>Вернуться назад</a>");
    12.     }
    13.  
    14.     $up = mysql_query("UPDATE tz_members SET password='$password' WHERE id='.$id.'");//обновляем пароль
    15.     if ($up == true) {
    16.         echo "<meta http-equiv='Refresh' content='0; URL=page.php?id=".$id."'>";
    17.     }
    18. }
    19. ?>
    У меня всё подключено к БД как надо,когда всё сделал,пароль не меняеться,В бд всё так как надо,вот так есть шифровка md5 ,вот не знаю,не получаеться сменить пароль,вот когда пользователь регаеться,то в md5 и норм встаёт а меняю и всё происходит и не меняеться
     
  2. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Вы где говно это взяли?(
     
  3. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    вот просто +100500
    Jameses, я люблю пароли обрамленные пробелами! я состою в клюбе анонимных пробелообрамителей паролей. почему вы лишаете меня возможности обрамить пробелами пароль? ну если серьезно, то Your вообще-то прав - вы где такое нарыли?
     
  4. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    ну а чего, у яндекса например тоже с паролями не забалуешь
     
  5. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    с чего бы это?
     
  6. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Да не надо уже ничего проверять и не в чем ущемлять.
    Не email не password не login.
    Пусть что хотят то и пишут, их право.
     
  7. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    А я сторонник удаления крайних пробелов. Почему? Потому что порой приходится копировать длинные непроизносимые пароли. А при выделении мышкой очень даже запросто захватываются непрошенные пробелы.
    Если trim() делается и при создании нового пользователя и при аутентификации, то нет проблем. Главное чтобы не было по разному.

    p.s. кода в этой теме не обнаружил, поэтому комментировать нечего

    Добавлено спустя 23 минуты 38 секунд:
    Сейчас проверил как обстоят дела с пробелами у крупнячков: Гугль при аутентификации отсекает конечные пробелы, а Яндекс обнаружив пробел в любом месте пароля, выдает подсказку "смените раскладку", т.е. он в принципе не допускает пробелов.
     
  8. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Ну конечно будет там копироваться пробелы:

    [пробел]пароль

    пароль

    Ну такой пароль, а что?)
    Ну не безопасные все символы убрать и проверить, а остальное не важно, что пишут то и будет.
    Он будет чувствителен к регистру, то есть:

    ПаSроЛЬ

    паSроль

    Не будут идентичны.

    Код (PHP):
    1. echo nl2br(site::passenc(' ПаSроЛЬ').'
    2. '.site::passenc('паSроль')); 
    3. /*
    4.     gfN9yZa+vlilOUHyUTJVk+enHRg=
    5.     kgnI9/iFuAmdlw0DTeTWiZXV/Rw=
    6. */
     
  9. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Плин, всё не могу привыкнуть, читаю сообщения Your по 3 раза и ничего не понимаю.
    А насчет пробелов (и табуляций, и переводов строк \r и \n) в паролях тоже против.
     
  10. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    mysql_real_escape_string.

    И что тебе будет от небезопасных символов?
    Тебе ли не все равно что они там в пароле пишут? Пароль ты все равно не узнаешь после энкрипта.
    А когда они будут вводить у них будет энкрипт и проверка то или не то.
    У меня не попадает в базу то, что пишет пользователь в пароле, выше пример =)
     
  11. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    а это зачем к хэшу применять? разве что к раву
     
  12. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Не не к хешу.

    Я выразился это в сторону не хеша.

    Хешишь и записываешь без проблем.
     
  13. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    тоже не понятно, о чем, к чему?

    Пробельные, несущественные символы - это как воздух, которого может быть много или мало. Мне то всё равно, что они там в пароле пишут. Лишь бы мне удобно было, а выделяю я слова (существенные символы подряд) двойным щелчком. В нормальных редакторах выделяется только слово без пробелов, это ок, а в каком-нибудь виндовз нотпаде выделяются ещё пробелы и табуляции, так что нужно аккуратно так прицеливаться. В Линуксе так вообще не понятно, где активная точка у красивого курсора с закругленными краями, не удобно выделять, да и вертикальный курсор в текстовых редакторах толстый, почти как пробел, нужно всматриваться. Лишние напряги. Думаю, Гуугл и Яндекс понимают меня.

    Кстати, насчет авторизации без передачи пароля в открытом виде хотел тему завести. Может, вечером.
     
  14. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Очередной бред.
    Нет необходимости. Причем тут вообще гугл или яндекс.
    Причем тут пароль пользователя, который тебе знать вообще не надо, вообще не надо иметь никакого представления в этом, это не твои данные и не надо ложить на них глаз.
    Придумываете ерунду какую-то.
     
  15. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Your, любой, кто с тобой не согласен, пишет бред, это не новость. И если тебе хоть что-то отвечать, через 2-3 поста легко начинается срач. Так что продолжай общаться сам с собой, заполняя форум несвязными мыслями и руганью.

    Добавлено спустя 13 минут 3 секунды:
    Вот это о чём? В чём нет необходимости, на что это ответ? Гуугл и Яндекс при том, что удаляют пробельные символы при вводе пароля, и правильно делают.
    Вот именно, при чём тут пароль пользователя, который мне знать не надо? И к чему вот это
    ? У тебя паранойя что ли? Речь об удобстве - пробельные символы только вносят неудобства. Гууг, Яндекс, artoodetoo и я против пробелов в паролях. Так вот, придется смириться с этим мнением, а твоё бредовое никому не нужно.
     
  16. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Слышь, ты даун... Иди кукурузу охраняй. Тупой такой, <матное слово>.
    Срешь ты тут поносом. Какую-то х у й н ю про неудобство в пробелах задвигает. ЛОЛ! Е б л а н.

    Вот тебя е б е т? Хочу с пробелами пароль, а ты не даешь, ну и на х у й послан твой сайт.
    Это ужас, не удобство в написании пароля. СМЕШНО!
    Ты там, что пароли считаешь, кто какой пароль написал? Ты копируешь себе их в ручную в блокнотик? Подсчет ведешь? ЛОЛ...
    Ах. Ну вот и пробел попался блн как же не удобно, ай, яй, яй... Нельзя так писать нужно убрать.

    Все с тобой понятно. Пиши ЫЩЁ!
     
  17. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Аха, всё про себя рассказал. Ещё один джей. Реакция предсказуема на 100%
     
  18. Jameses

    Jameses Новичок

    С нами с:
    6 май 2013
    Сообщения:
    81
    Симпатии:
    0
    Ребят столько текста,а толком можно один код?А то,столько текста,а информации толком не сильно много
     
  19. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    У тебя есть id записи? В коде не видно, откуда берёшь $id.
    Меняешь пароль и всё. Если нужно в md5, то пиши md5($password).
    Сначала нужно удостовериться, что есть подключение к БД, потом вывести получающийся SQL запрос, проверить, правильно ли выглядит. Потом всё тот же UPDATE.
    Опять текст?

    Запрос только с ошибкой. Нужно как-то так
    Код (PHP):
    1. mysql_query("UPDATE tz_members SET password=md5('$password') WHERE id=$id");
     
  20. Jameses

    Jameses Новичок

    С нами с:
    6 май 2013
    Сообщения:
    81
    Симпатии:
    0
    Подключение к Бд есть.
    Дело в том что я тоже обратил внимание на этот код:
    Код (Text):
    1. $up = mysql_query("UPDATE tz_members SET password='$password' WHERE id='.$id.'");//обновляем пароль
    но для меня самого загадка,как бы и в моде только в бд есть $id а в php нет,т.е. что то не пойму я,как всё оформить
     
  21. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  22. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    что это значит? подробней можно?
     
  23. Jameses

    Jameses Новичок

    С нами с:
    6 май 2013
    Сообщения:
    81
    Симпатии:
    0
    ну вот смотри,как бы только в этом коде есть id а в остальных файлах нет,ну может еще в регистрации есть,и в бд тоже есть,а в том файле нет
     
  24. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Без id записи тут ничего не сделать, нужно знать, что обновлять. Признавайся, откуда код?
     
  25. Jameses

    Jameses Новичок

    С нами с:
    6 май 2013
    Сообщения:
    81
    Симпатии:
    0
    Ну я и не скрываю,что код я взял с сайта другого,вернее вырезал его,от туда,ну у меня веть в бд есть индефикатор этот id,веть просто тот код который я кинул он правильный или нет?Ну я имею введу $id и тд?