Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Код регистрации приведен далее<?php session_start(); include ('mysql.php'); /* ** Функция для генерации соли, используемоей в хешировании пароля ** возращает 3 случайных символа */ function GenerateSalt($n=3) { $key = ''; $pattern = '1234567890abcdefghijklmnopqrstuvwxyz.,*_-=+'; $counter = strlen($pattern)-1; for($i=0; $i<$n; $i++) { $key.= $pattern{rand(0,$counter)}; } return $key; } include 'header.php'; if (empty($_POST)) { ?> <script language="JavaScript" type="text/javascript" src="jquery.js"></script> <script language="JavaScript" type="text/javascript" src="jquery.corner.js"></script> <script language="JavaScript" type="text/javascript"> <!-- $("document").ready(function() { $("#reg").corner("round"); }); //--> </script> <div style="margin:100px auto;width:300px;background:#ccc;padding-left:15px;padding-bottom:10px;" id="reg"> <h3>Регистрация</h3> <form action="register.php" method="post"> <table> <tr> <td>Логин:</td> <td><input type="text" name="login" /></td> </tr> <tr> <td>Пароль:</td> <td><input type="password" name="password" /></td> </tr> <tr> <td>Повторите пароль:</td> <td><input type="password" name="repassword" /></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="Зарегистрироваться" /></td> </tr> </table> </form> </div> <?php } else { // обрабатывае пришедшие данные функцией mysql_real_escape_string перед вставкой в таблицу БД $error = false; $errort = ''; $login = (isset($_POST['login']))? mysql_real_escape_string($_POST['login']): ''; $password = (isset($_POST['password']))? mysql_real_escape_string($_POST['password']): ''; $repassword = (isset($_POST['repassword']))? mysql_real_escape_string($_POST['repassword']): ''; if (!empty($login) and!preg_match("#^[A-Za-z][- _0-9A-Za-z]+$#i", $login)) { $errort = $errort.'Поле "Логин" содержит недопустимые символы<br />'; $error = true; } if (!empty($password) and!preg_match("#^[-_!@0-9A-Za-z]+$#i", $password)) { $errort = $errort.'Поле "Пароль" содержит недопустимые символы<br />'; $error = true; } if ($password!== $repassword) { $error = true; $errort.='Введенные пароли не совпадают<br />'; } // проверяем на наличие ошибок (например, длина логина и пароля) if (strlen($login) < 2) { $error = true; $errort.= 'Длина логина должна быть не менее 2х символов.<br />'; } if (strlen($password) < 6) { $error = true; $errort.= 'Длина пароля должна быть не менее 6 символов.<br />'; } // проверяем, если юзер в таблице с таким же логином $query = "SELECT `id` FROM `users` WHERE `login`='{$login}' LIMIT 1"; $sql = mysql_query($query) or die(mysql_error()); if (mysql_num_rows($sql)==1) { $error = true; $errort.= 'Пользователь с таким логином уже существует в базе данных, введите другой.<br />'; } // если ошибок нет, то добавляем юзаре в таблицу if (!$error) { // генерируем соль и пароль $salt = GenerateSalt(); $hashed_password = md5(md5($password). $salt); $query = "INSERT INTO `users` SET `login`='{$login}', `password`='{$hashed_password}', `salt`='{$salt}'"; $sql = mysql_query($query) or die(mysql_error()); $i = mysql_insert_id(); $query = "insert into user_details values($i, '','',0,'','','',0)"; //echo $query; $sql = mysql_query($query); print '<div class="OKMessage">Поздравляем, Вы успешно зарегистрированы!<br /><a href="login.php">Авторизоваться</a></div>'; } else { print '<div class="errMessage">Возникли следующие ошибки<br />'. nl2br($errort).'<br /><a href="register.php">попробуйте еще раз</a></div>'; } } include 'footer.php'; ?>
|