Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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';

?>

 

Date: 2015-09-02; view: 337; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию