<?php
$thisLink = "/".$thisPage;
profile :: is_user(false);
$nick = $password = $password_r = $email = '';
if(isset($_POST['cfms'])) {
$password = system :: check($_POST['password']);
$password_r = system :: check($_POST['password-r']);
$nick = system :: check($_POST['nick']);
$email = system :: check($_POST['email']);
$str_email = system :: utf_strlen($email);
$str_password = system :: utf_strlen($password);
$str_nick = system :: utf_strlen($nick);
$CheckUser = DB :: $dbh -> queryFetch("SELECT `id` FROM `users` WHERE (`login` = ? OR `email` = ?) LIMIT 1;", array($nick, $email));
if($CheckUser['id'] == 0) {
if($str_email > 5 && $str_email <= 50 && filter_var($email, FILTER_VALIDATE_EMAIL)){
if($str_nick >= 3 && $str_nick <= 25) {
if (preg_match('|^[а-яёa-z0-9_]+$|iu', $nick)) {
if($str_password >= 6 && $str_password <= 32){
if (preg_match('|^[a-z0-9]+$|i', $password)) {
if($password == $password_r) {
$secure = true;
if(isset($_POST['cfms_code'])) {
if(isset($_SESSION['secure_code']) && strtolower($_SESSION['secure_code']) == strtolower($_POST['keystring'])) {
$access = rand(11513,95658).rand(434,898);
DB :: $dbh -> query("INSERT INTO `users` (`access`,`login`,`password`,`first_time`,`email`) VALUES (?, ?, ?, ?, ?);", array($access, $nick, $password, time(), $email));
$id = DB :: $dbh -> lastInsertId();
$activation = system :: genHash(strrev(time()).time(),$id).md5(time()+3000).rand(1111,9999);
$sid = system :: genHash($password, $id);
profile :: avatarCreate($nick,$id);
DB :: $dbh -> query("UPDATE `users` SET `sid` = ?, `activate` = ? WHERE `id` = ? LIMIT 1;", array($sid, $activation, $id));
system :: activateMail($id,$email,$activation); // Ключ активации
setcookie('xsid', $sid, time()+60*60*24*365);
system :: redirect("Поздравляем! Теперь вы с нами. Заполните некоторую информацию.", "/anketa/?act=anketa/edit&__returntosignup={$access}");
} else { $e = "Код введен не верно."; }
}
} else { $e = "Пароли не совпадают."; }
} else { $e = "Пароль должен содержать только символы латинского алфавита и цифры."; }
} else { $e = "Пароль не может содержать меньше 6-ти символов и больше 32-х."; }
} else { $e = "В нике разрешено использовать латинские буквы, цифры и нижнее подчеркивание."; }
} else { $e = "Ник должен состоять от 3-х до 25-ти символов."; }
} else { $e = "Неверный адрес email."; }
} else { $e = "Пользователь с таким именем или же почтой уже есть в системе."; }
}
$title = $l = "Востановления пароля";
require (CORE."head.php");
echo "<div class="app-block"><div class="list"><div class="app-block-w">";
if(isset($e)){ system :: show($e); }
if(!isset($secure)) {
?>
<div class="_lh-n" style="margin-top: 20px;">
<div class="vsetime">
<span class="vsetitext"><span class="_gray">Забыли пароль?</span></span>
</div></div>
<form method="post" action="">
<label class="_gray _dbl" for="index-email">E-mail:</label>
<input type="text" class="main-input _w-100" name="email" value="
<?=$email?>
" id="index-email">
<label class="_gray _dbl" for="index-nick">Логин:</label>
<input type="text" class="main-input _w-100" name="nick" value="
<?=$nick?>
" id="index-nick">
<div class="_center _btn-up">
<input type="submit" class="main-btn_b _w-100" name="cfms" value="Востановить доступ">
<div class="_gray _font-m" style="margin-top: 3px;">Ваш пароль будет оправлен Вам на «E-mail» </div>
</div>
</form>
<?php
}
echo "</div></div>";
require (CORE."foot.php");
?>
Помогите сделать с этого кода востановления пароля по емейлу и нику
$thisLink = "/".$thisPage;
profile :: is_user(false);
$nick = $password = $password_r = $email = '';
if(isset($_POST['cfms'])) {
$password = system :: check($_POST['password']);
$password_r = system :: check($_POST['password-r']);
$nick = system :: check($_POST['nick']);
$email = system :: check($_POST['email']);
$str_email = system :: utf_strlen($email);
$str_password = system :: utf_strlen($password);
$str_nick = system :: utf_strlen($nick);
$CheckUser = DB :: $dbh -> queryFetch("SELECT `id` FROM `users` WHERE (`login` = ? OR `email` = ?) LIMIT 1;", array($nick, $email));
if($CheckUser['id'] == 0) {
if($str_email > 5 && $str_email <= 50 && filter_var($email, FILTER_VALIDATE_EMAIL)){
if($str_nick >= 3 && $str_nick <= 25) {
if (preg_match('|^[а-яёa-z0-9_]+$|iu', $nick)) {
if($str_password >= 6 && $str_password <= 32){
if (preg_match('|^[a-z0-9]+$|i', $password)) {
if($password == $password_r) {
$secure = true;
if(isset($_POST['cfms_code'])) {
if(isset($_SESSION['secure_code']) && strtolower($_SESSION['secure_code']) == strtolower($_POST['keystring'])) {
$access = rand(11513,95658).rand(434,898);
DB :: $dbh -> query("INSERT INTO `users` (`access`,`login`,`password`,`first_time`,`email`) VALUES (?, ?, ?, ?, ?);", array($access, $nick, $password, time(), $email));
$id = DB :: $dbh -> lastInsertId();
$activation = system :: genHash(strrev(time()).time(),$id).md5(time()+3000).rand(1111,9999);
$sid = system :: genHash($password, $id);
profile :: avatarCreate($nick,$id);
DB :: $dbh -> query("UPDATE `users` SET `sid` = ?, `activate` = ? WHERE `id` = ? LIMIT 1;", array($sid, $activation, $id));
system :: activateMail($id,$email,$activation); // Ключ активации
setcookie('xsid', $sid, time()+60*60*24*365);
system :: redirect("Поздравляем! Теперь вы с нами. Заполните некоторую информацию.", "/anketa/?act=anketa/edit&__returntosignup={$access}");
} else { $e = "Код введен не верно."; }
}
} else { $e = "Пароли не совпадают."; }
} else { $e = "Пароль должен содержать только символы латинского алфавита и цифры."; }
} else { $e = "Пароль не может содержать меньше 6-ти символов и больше 32-х."; }
} else { $e = "В нике разрешено использовать латинские буквы, цифры и нижнее подчеркивание."; }
} else { $e = "Ник должен состоять от 3-х до 25-ти символов."; }
} else { $e = "Неверный адрес email."; }
} else { $e = "Пользователь с таким именем или же почтой уже есть в системе."; }
}
$title = $l = "Востановления пароля";
require (CORE."head.php");
echo "<div class="app-block"><div class="list"><div class="app-block-w">";
if(isset($e)){ system :: show($e); }
if(!isset($secure)) {
?>
<div class="_lh-n" style="margin-top: 20px;">
<div class="vsetime">
<span class="vsetitext"><span class="_gray">Забыли пароль?</span></span>
</div></div>
<form method="post" action="">
<label class="_gray _dbl" for="index-email">E-mail:</label>
<input type="text" class="main-input _w-100" name="email" value="
<?=$email?>
" id="index-email">
<label class="_gray _dbl" for="index-nick">Логин:</label>
<input type="text" class="main-input _w-100" name="nick" value="
<?=$nick?>
" id="index-nick">
<div class="_center _btn-up">
<input type="submit" class="main-btn_b _w-100" name="cfms" value="Востановить доступ">
<div class="_gray _font-m" style="margin-top: 3px;">Ваш пароль будет оправлен Вам на «E-mail» </div>
</div>
</form>
<?php
}
echo "</div></div>";
require (CORE."foot.php");
?>
Помогите сделать с этого кода востановления пароля по емейлу и нику