Здравствуйте уважаемые програмисты прошу вас понять я новичок вот написал такую вот регистрацию но ниа немогу сделать востоновление пароля и функцию потверждение пароля если можете помогите прошу
<?php
if (isset($user_id))
{
header("Location: /");
return false;
}
function return_referer()
{
global $db;
if (isset($_SESSION["referer"]))
{
$referer_id = $_SESSION["referer"];
$row = $db->super_query("SELECT `user_login` FROM `users` WHERE `user_id`='$referer_id'");
if (empty($row["user_login"]))
{
$referer['id'] = 1;
$referer['name'] = 'Никто, сам пришёл';
}else
$referer['name'] = $row["user_login"];
$referer['id'] = $referer_id;
}else{
$referer['id'] = 1;
$referer['name'] = 'Никто, сам пришёл';
}
return $referer;
}
function validate($str){
if (!preg_match("/^[a-zA-Zа-яА-Я0-9\-_]{1,255}$$/i",trim($str))) return false; else return true;
}
if (isset($_POST["reg"]))
{
sleep(1);
if (isset($_POST["email"]))
{
if(preg_match("|^[-0-9a-z_\.]+@[-0-9a-z_^\.]+\.[a-z]{2,6}$|i", $_POST['email']))
{
$len_email = strlen($_POST["email"]);
if ($len_email<=30)
{
$email = $db->safesql($_POST["email"]);
}else
$error[] = 'Максимальная длина поля EMAIL: 30 символов';
}else
$error[] = 'Поле EMAIL заполнено не верно!';
}else
$error[] = 'Заполните поле EMAIl';
if (isset($_POST["login"]))
{
$len_login = strlen($_POST["login"]);
if ($len_login>3)
{
if ($len_login<=15)
{
if (validate($_POST["login"]) === TRUE)
{
$login = $db->safesql($_POST["login"]);
}else
$error[] = 'Логин пользователя должен содержать только латинские буквы и цифры';
}else
$error[] = 'Максимальная длина поля логин: 15 символов';
}else
$error[] = 'Минимальная длина поля логин: 3 символа';
}else
$error[] = 'Заполните поле Ваш ник';
if (isset($_POST["passw"]) AND isset($_POST["passw2"]))
{
if ($_POST["passw"]==$_POST["passw2"])
{
$len_pass = strlen($_POST["passw"]);
if ($len_pass>5)
{
if ($len_pass<=20)
{
$pass = $db->safesql($_POST["passw"]);
}else
$error[] = 'Максимальная длина поля пароль: 20 символов';
}else
$error[] = 'Минимальная длина поля логин: 5 символов';
}else
$error[] = 'Пароли не совпадают';
}else
$error[] = 'Заполните поле пароль';
$referer = return_referer();
if (empty($error))
{
$count = $db->super_query("SELECT
(SELECT count(user_id) FROM `users` WHERE `user_email`='$email') c_email,
(SELECT count(user_id) FROM `users` WHERE `user_login`='$login') c_login");
if ($count["c_email"]>0)
$error[] = 'Пользователь с таким EMAIL уже зарегестрирован';
if ($count["c_login"]>0)
$error[] = 'Пользователь с таким логином уже зарегестрирован';
if (empty($error))
{
$referer_id = $referer['id'];
$pass = $func->hashpass($pass);
$func->rateReg($referer_id);
$db->query("INSERT INTO `users`( `user_email`, `user_password`, `user_referer`, `user_login`, `user_reg`, `user_last_login`) VALUES ('$email','$pass','$referer_id','$login','$time','$time')");
$us_id = $db->insert_id();
$sql = $db->query("SELECT * FROM `shop`");
while ($row = $db->get_row($sql))
{
$pl_id = $row["plot_id"];
$db->query("INSERT INTO `users_fr`(`user_id`, `plot_id`, `sum`) VALUES ('$us_id','$pl_id','0')");
}
$db->query("INSERT INTO `profile`(`user_id`) VALUES ('$us_id')");
echo '<font color="green">Вы успешно зарегестрировались!</font>';
return false;
}
}
$smarty->assign("errors",$error);
}
$referer = return_referer();
$smarty->assign("referer",$referer['name']);
$smarty->display("register.tpl");
?>