Размер файла: 3.63Kb
<?php
// coding by Felis
require_once('sys/kernel.php');
require_once('temp/cap.php');
switch($mode)
{
default:
if(!isset($_GET['agree']))
{
echo $fnc->alert('Соглашение', 'Перед началом регистрации ознакомьтесь с <a href="rules.php">правилами</a> чата, незнание которых является нарушением!');
echo $fnc->cont('- <a href="'.CFILE.'?agree">Согласен</a><br />- <a href="main.php">Не согласен</a>');
}
else
{
$rand1 = mt_rand(1111,9999);
$rand2 = mt_rand(1111,9999);
$_SESSION['int_rand'] = $rand1 + $rand2;
echo $fnc->alert('Регистрация', '<form action="'.CFILE.'?mode=go" method="post">
<!-- Логин<br /> -->
<input type="hidden" name="login" maxlength="22" />
<!-- Пароль<br /> -->
<input type="hidden" name="password" />
Логин:<br />
<input type="text" name="_post_field_" maxlength="22" /><br />
E-mail:<br />
<input type="text" name="_post_field_2_" maxlength="255" /><br />
Пароль:<br />
<input type="password" name="_post_field_3_" /><br />
Сумма <b>'.$rand1.'</b> и <b>'.$rand2.'</b>:<br />
<input type="text" name="_post_field_4_" /><br />
<input type="submit" value="Отправить" />
</form>');
}
break;
case 'go':
$postfield1 = $_POST['login'];
$postfield2 = $_POST['password'];
$username = trim($_POST['_post_field_']);
$mail = trim($_POST['_post_field_2_']);
$password = trim($_POST['_post_field_3_']);
$int_rand = (int)$_POST['_post_field_4_'];
$err = NULL;
if(empty($username))
{
$err .= '- логин не должен быть <b>пустым</b><br />';
}
if(!preg_match("/^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,6}$/i", $mail))
{
$err .= '- вы ввели неверный <b>E-mail адрес</b><br />';
}
if(empty($password))
{
$err .= '- пароль не должен быть <b>пустым</b><br />';
}
if($int_rand != $_SESSION['int_rand'])
{
$err .= '- неправильно введено проверочное <b>число</b><br />';
}
if(!empty($postfield1) || !empty($postfield2))
{
$err .= '- ошибка параметров <b>регистрации</b><br />';
}
if(empty($err))
{
$username = $fnc->out($username, 1);
$mail = $fnc->out($mail, 1);
$password = $fnc->out($password, 1);
$reg_password = $fnc->encode($password);
if($db->query("SELECT `id` FROM `users` WHERE `login`='$username' LIMIT 1")->num_rows > 0)
{
$err .= '- данный логин уже <b>зарегистрирован</b><br />';
}
if($db->query("SELECT `id` FROM `users` WHERE `mail`='$mail' LIMIT 1")->num_rows > 0)
{
$err .= '- данный e-mail уже <b>зарегистрирован</b>';
}
}
if(empty($err))
{
$db->query("INSERT INTO `users` (`login`,`passwd`,`mail`,`regdate`) VALUES ('$username','$reg_password','$mail','$time');");
$in_id = $db->insert_id;
if($in_id == 1) $db->query("UPDATE `users` SET `access`='a' WHERE `id`=".$in_id);
echo $fnc->alert('Завершение регистрации', 'Вы успешно зарегистрированы в чате!');
echo $fnc->cont('Ваш ID: <b>'.$in_id.'</b><br />
Ваш логин: <b>'.$username.'</b><br />
Ваш пароль: '.$password.'<br />
<em>Приятного общения в нашем чате!</em>');
echo $fnc->cont2('<a href="main.php">На главную</a>');
}
else
{
echo $fnc->alert('Ошибка!', '<i>Вполне вероятно, что:</i><br />'.$err);
}
unset($_SESSION['int_rand']);
break;
}
require_once('temp/foot.php');
// конец файла ./register.php