Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Пользователь может также сменить парольНовый пароль будет зашифрован и при необходимости записан в cookie-набор пользователя. Вид формы смены пароля приведен на рисунке 17. Рисунок 16 Вид формы смены пароля
24. Исходный код сценария выглядит следующим образом: <? session_start(); if (!isset($_SESSION['user_id'])) { header('Location: index.php?page='.$_SERVER['PHP_SELF']); } include '../mysql.php'; $id = $_SESSION['user_id']; $query = "SELECT `password`, `salt` FROM `users` WHERE `id`='{$id}' LIMIT 1"; $sql = mysql_query($query) or die('Невозможно найти этот ID'); if (!empty($_POST)) { if (mysql_num_rows($sql) > 0) { $row = mysql_fetch_assoc($sql); // берем соль $salt = $row['salt']; $p = $row['password']; $error = false; $errort = ''; $oldpassword = (isset($_POST['oldpassword']))? mysql_real_escape_string($_POST['oldpassword']): ''; $newpass = (isset($_POST['password']))? mysql_real_escape_string($_POST['password']): ''; if (!empty($newpass) and!preg_match("#^[-_!0-9A-Za-z]+$#i", $newpass)) { $errort = $errort.'Поле "Пароль" содержит недопустимые символы<br />'; $error = true; } if (strlen($newpass) < 6) { $error = true; $errort.= 'Длина нового пароля менее шести символов'; } $oldpassword = md5(md5($oldpassword). $salt); if ($p!== $oldpassword) { $error = true; $errort.= 'Введенный вами старый пароль неверен'; } if (!$error) { $newpass = md5(md5($newpass). $salt); $q = "update users set `password`='{$newpass}' where `id`={$id}"; $r = mysql_query($q); $time = 86400*7*2; setcookie('password', $newpass, time()+$time, "/"); //echo $q; echo '<div class="OKMessage">Пароль успешно изменен на</div>'; } else { print '<div class="errMessage">Возникли следующие ошибки<br />'. nl2br($errort).'</div>'; } } } $no_user = false; $same_user=true; $id = $_SESSION['user_id']; include '../head.php'; include '../menu.php'; ?> <div id="rightCol"> <form action="reset.php" method="post"> <table> <tr> <td>Старый пароль:</td> <td><input type="password" name="oldpassword" /></td> </tr> <tr> <td>Новый пароль:</td> <td><input type="password" name="password" /></td> </tr> <tr> <td></td> <td><input type="submit" value="Сменить пароль" /></td> </tr> </table> </form> </div> <div id="bottom"></div> </div> <? include '../foot.php'; ?>
|