Вход Регистрация
Файл: reg.php
Строк: 29
<?php
require_once('kernel/start.php');
if (
$user == true) {
header('location: /');
die();
}
if (isset(
$_POST['save'])) {
$err = [];
$form = ['kod' => isset($_POST['kod']) ? abs((int)$_POST['kod']) : false'user' => isset($_POST['user']) ? check($_POST['user']) : false'pass' => isset($_POST['pass']) ? check($_POST['pass']) : false'pass2' => isset($_POST['pass2']) ? check($_POST['pass2']) : false];
if (
$dbs->query("SELECT COUNT(id) FROM user WHERE user = '$form[user]'")->fetchColumn()>=1) {
$err[] = 'Логин <b>'.$form['user'].'</b> уже зарегистрирован!';
}
elseif (
mb_strlen($form['user'])>15 OR mb_strlen($form['user'])<2){
$err[] = 'Слишком длинный или короткий логин!';
}
elseif (
mb_strlen($form['pass'])>15 OR mb_strlen($form['pass'])<4){
$err[] = 'Слишком длинный или короткий пароль!';
}
elseif (empty(
$form['kod']) OR $_SESSION['cap'] != $form['kod']) {
$err[] ='Проверьте правильность ввода капчи.';
}
elseif (
$form['pass'] != $form['pass2']) {
$err[] = 'Пароли не совпадают!';
}
elseif (!
preg_match('!^[a-z0-9]+$!i',$form['pass'])) {
$err[] = 'В пароле обнаружены запрешенные знаки!';
}
elseif (!
preg_match('!^[A-z0-9-_]+$!i',$form['user'])) {
$err[] = 'В логине присутствуют запрещенные символы';
}
if (empty(
$err)) {
$st $dbs->prepare("INSERT INTO user SET user = ?, pass = ?, ip = ?, soft = ?, last = ?");
$st->execute([$form['user'],hash_sha1($form['pass']),$ip,$soft,time()]);
$inId $dbs->lastInsertId();
// устанавливаем cookie + session
setcookie('auth'base64_encode($inId.'::'.hash_sha1($form['pass'])), time()+3600*24*365'/');
$_SESSION['auth'] = base64_encode($inId.'::'.hash_sha1($form['pass']));
echo 
'Регистрация прошла успешно!<br />Логин: ' $form['user'] . '<br />Пароль: ' $form['pass'] . '<br/><a href="/">На главную</a>';
die();
} else {
foreach(
$err as $error) {
echo 
$error.'<br/>';
}
}
}
$_SESSION['cap'] = mt_rand(11119999);
echo 
'<form method="post" action="#">*Ваш логин:<br/><input name="user" type="text"/><br/>*Ваш пароль:<br/><input name="pass" type="password"/><br/>*Повторите пароль:<br/><input name="pass2" type="password"/><br/>Капча:<b>'.$_SESSION['cap'].'<br /><input type="text" name="kod" size="6"/><br /><input value="Зарегистрироваться" name="save" type="submit"/></form>';
?>
Онлайн: 5
Реклама