Файл: modules/signup.php
Строк: 314
<?php
namespace functions;
$mod = (isset($_GET['mod']) ? a_filter_url($_GET['mod']) : NULL);
switch ($mod):
default:
if (a_isUser() != true) {
a_header('Регистрация');
echo '<div class="title">Регистрация</div>
<div class="about">';
if (isset($_POST['ready'])) {
$filtering = array(
'nick' => a_filter_str($_POST['nick']),
'im' => trim($_POST['im']),
'ank_d_r' => trim($_POST['ank_d_r']),
'ank_m_r' => trim($_POST['ank_m_r']),
'ank_g_r' => trim($_POST['ank_g_r']),
'fam' => trim($_POST['fam']),
'ml' => a_filter_str($_POST['ml'] . $_POST['prefix']),
'ps' => a_filter_str($_POST['ps']),
'qiwi' => a_filter_str($_POST['qiwi']),
'r_ps' => a_filter_str($_POST['r_ps']),
'sex' => mb_substr(trim($_POST['sex']), 0, 2)
);
$stmt = $db->prepare('SELECT `nick` FROM `db_users` WHERE `nick` = :nick LIMIT 1');
$stmt->bindValue(':nick', $filtering['nick']);
$stmt->execute();
$f_nick = $stmt->fetch();
$stmt = $db->prepare('SELECT `ml` FROM `db_users` WHERE `ml` = :ml LIMIT 1');
$stmt->bindValue(':ml', $filtering['ml']);
$stmt->execute();
$fetch_ml = $stmt->fetch();
$stmt = $db->prepare('SELECT `qiwi` FROM `db_users` WHERE `qiwi` = :qiwi LIMIT 1');
$stmt->bindValue(':qiwi', $filtering['qiwi']);
if(empty($filtering['ml']) or empty($filtering['nick']) or empty($filtering['ps']) or empty($filtering['r_ps']) or empty($filtering['qiwi']))
{
echo '<div style="color:red;text-align:center;">Заполните поля ввода.</div>';
} else if (filter_var($filtering['ml'], FILTER_VALIDATE_EMAIL) === false) {
echo '<div style="color:red;text-align:center;">Не верный E-mail адрес.</div>';
} else if (mb_strlen($filtering['ps'], 'UTF-8') > 25 or mb_strlen($filtering['ps'], 'UTF-8') < 5) {
echo '<div style="color:red;text-align:center;">Пароль от 5 до 25 символов.</div>';
} else if (!preg_match('!^[a-z0-9]+$!i', $filtering['ps'])) {
echo '<div style="color:red;text-align:center;">Запрещенные символы ввода.</div>';
} else if ($filtering['ps'] != $filtering['r_ps']) {
echo '<div style="color:red;text-align:center;">Пароли не совпадают.</div>';
} else if ($filtering['sex'] != 'm' && $filtering['sex'] != 'zh') {
echo '<div style="color:red;text-align:center;">Не указан пол.</div>';
}
session_start();
if($_POST['kapcha'] != $_SESSION['rand_code'])
{ echo "Капча введена неверно";
}
else if(!ctype_digit($filtering['qiwi'])) {
echo '<div style="color:red;text-align:center;">Укажите только цифры вашего QiWi.</div>';
}else if(mb_strlen($filtering['qiwi'], 'UTF-8') < 10 or mb_strlen($filtering['qiwi'], 'UTF-8') > 12){
echo '<div style="color:red;text-align:center;">Не верный формат ввода QiWi кошелька.</div>';
} else if(!empty($f_nick)) {
echo '<div style="color:red;text-align:center;">Пользователь с таким ником уже существует.</div>';
} else if(!empty($fetch_ml)) {
echo '<div style="color:red;text-align:center;">Пользователь с таким E-mail уже существует.</div>';
} else if(!empty($fetch_wmr)){
echo '<div style="color:red;text-align:center;">Пользователь с таким QiWi-кошелкем уже существует.</div>';
}
else {
$stmt = $db->prepare('INSERT INTO `db_users` SET `nick` = :nick, `ml` = :ml, `ps` = :ps, `reg` = :time, `sex` = :sex, `qiwi` = :qiwi, `ank_d_r` = :ank_d_r,`ank_m_r` = :ank_m_r,`ank_g_r` = :ank_g_r,`im` = :im,`fam` = :fam, `money` = :money, `get_money` = :get_money');
$stmt->bindValue(':nick', $filtering['nick']); //nick
$stmt->bindValue(':ml', $filtering['ml']);
$stmt->bindValue(':ps', md5($filtering['ps']));
$stmt->bindValue(':time', time());
$stmt->bindValue(':sex', $filtering['sex']);
$stmt->bindValue(':im', $filtering['im']);
$stmt->bindValue(':qiwi', $filtering['qiwi']);
$stmt->bindValue(':ank_d_r', $filtering['ank_d_r']);
$stmt->bindValue(':ank_m_r', $filtering['ank_m_r']);
$stmt->bindValue(':ank_g_r', $filtering['ank_g_r']);
$stmt->bindValue(':fam', $filtering['fam']);
$stmt->bindValue(':money', '0');
$stmt->bindValue(':get_money', '0');
$stmt->execute();
$id = $db->lastInsertId();
$stmt = $db->prepare('INSERT INTO `db_harvest` SET `fruit` = :fruit, `many` = :many, `id_user` = :user');
$stmt->bindValue(':fruit', 1);
$stmt->bindValue(':many', 1);
$stmt->bindValue(':user', $id);
$stmt->execute();
$ps = md5($filtering['ps']);
setcookie('id', $id, time() + 86400 * 7, '/');
setcookie('ps', $ps, time() + 86400 * 7, '/');
exit(header('Location: /?act=in')); }
}
?>
<p>
<form method="POST">
<p>
<font color="red">*</font> Ник (max 11 sym.):<br /> <input type="text" name="nick" maxlength="11" placeholder="Ваш пседоним" value="" />
<br /></p>
<p>
<font color="red">*</font> Имя:<br /> <input type="text" name="im" maxlength="20" placeholder="Иван" value="" />
<br />
<p>
<font color="red">*</font> Фамилия:<br /> <input type="text" name="fam" maxlength="20" placeholder="Ианов" value="" />
<br /></p>
<p>
<font color="red">*</font> Пол: </br>
Муж: <input type="radio" name="sex" value="m" />
Жен: <input type="radio" name="sex" value="zh" />
</p>
<p>
<font color="red">*</font> Дата рождения:
<br />
День:
<select name="ank_d_r">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
Месяц:
<select name="ank_m_r">
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
Год: <input type="text" name="ank_g_r" size="4" maxlength="4" placeholder="1992" value="" /><p>
<p>
<font color="red">*</font> Ваш QiWi Кошелек: (без <font color="red">+</font>.
Если у Вас нет кошелька Qiwi, пройдите регистрацию по <a href="http://qiwi.com">ссылке</a>.)
<font color="red"> (Изменить нельзя)</font></br>
<input class="input" type="text" name="qiwi" placeholder="79770129272">
</p>
<p>
<font color="red">*</font> E-mail: </br>
<input class="input" type="text" name="ml" value="<?=$filtering['ml']?>" placeholder="yourmail-name">
<select name="prefix">
<option value="@mail.ru">@mail.ru</option>
<option value="@bk.ru">@bk.ru</option>
<option value="@inbox.ru">@inbox.ru</option>
<option value="@list.ru">@list.ru</option>
<option value="@rambler.ru">@rambler.ru</option>
<option value="@yandex.ru">@yandex.ru</option>
<option value="@yandex.in">@yandex.in</option>
<option value="@yandex.us">@yandex.us</option>
<option value="@gmail.com">@gmail.com</option>
</select>
</p>
<p>
<font color="red">*</font> Персональный пароль: (от 5 до 25 латинских символов) </br>
<input class="input" type="password" name="ps" placeholder="введите пароль">
</p>
<p>
<font color="red">*</font> Повторите пароль: </br>
<input class="input" type="password" name="r_ps" placeholder="повторите пароль"></p>
<p><font color="red">*</font> Проверочный код:</br>
<img src = "captcha.php" />
<input type = "text" name = "kapcha" />
</p>
</div>
<div class="mybar">
<label><input type="checkbox" name="aut_save" value="1" />
Регистрируясь, Вы прочтите и подтвердите о ознакомление<a href="/?act=right"title="Правил">
<font color="red">правил</font></a> сайта .
</div>
<div class="about">
<p>
<input class="input_submit" type="submit" name="ready" value="Регистрация">
</br>
<a href="/">Вернуться на главную</a></p>
</form></p></div>
<?
a_footer();
} else {
exit(header('Location: /?act=in'));
}
break;
endswitch;