![]() |
Форма регистрации пользователя
Господа товарищи спецы! Мне надо сделать на сайте (РНР )регистрацию я создал папку reg и закинул туда файлы регистрации . Создал в базе таблицу users с 5ю полями nick. pass .pass_again .mail. ip. date. а дальше ошибки пошли незнаю как это все дело воедино связать. Искал в инете занимающихся установкой скриптов но там только всее целиком делают а дополнительно не ставят. (Я в этом деле особо не волоку) может кто выручит . ГОТОВ НЕСТИ РАСХОДЫ все понимаю. вот посмотгите код.
вход <?php // Если посетитель "вошёл" - приветствуем его if(isset($_SESSION['user'])) { echo "<p class='text_title_post'>Добро пожаловать,<br>".$_SESSION['user']."!</p> <p align='center'><a href='out.php'><strong>Выход</strong></a></p> "; } else { echo " <table align='center' class='enter_form' width='100' border='0' cellspacing='0' cellpadding='0'> <tr> <td><label class='enter_text'>Логин:</label></td> <td><input class='enter_imput' type='text' name='login' id='login' size='15' maxlength='15' > </td> </tr> <tr> <td><label class='enter_text'>Пароль:</label></td> <td><input class='enter_imput' type='password' name='pass' id='pass' size='15' maxlength='10' > </td> </tr> <tr> <td> <br> <a href='http://localhost/........./reg.php'><div align='left'>Регистрация</div></a> <br> </td> <td> <br> <input class='bat' type='submit' name='enter' id='enter' value='Войти'> </td> </tr> </table> "; } ?> регистрация <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Processing</title> </head> <body bgcolor="#000000"> <?php include("blocks/bd.php");/*Подключаемся к базе*/ if(isset($_POST['nick'])) {$nick = $_POST['nick'];} if(isset($_POST['pass'])) {$pass = $_POST['pass'];} if(isset($_POST['pass_again'])) {$pass_again = $_POST['pass_again'];} if(isset($_POST['mail'])) {$mail = $_POST['mail'];} if(isset($_POST['ip'])) {$ip = $_POST['ip'];} if(isset($_POST['date'])) {$date = $_POST['date'];} //Кодирование тегов $nick = htmlspecialchars($nick); $pass = htmlspecialchars($pass); $pass_again = htmlspecialchars($pass_again); //Кодирование обратных слешей $nick = stripslashes($nick); $pass = stripslashes($pass); $pass_again = stripslashes($pass_again); //Удаление пробелов $nick = trim($nick); $pass = trim($pass); $pass_again = trim($pass_again); //Проверка логина if(empty($nick)) { echo"<p align='center'><br> <table align='center' bgcolor='000000' width='580' border='1' cellspacing='0' cellpadding='0'><tr> <td align='center'><span style='font-size:23px; color:#FF0000; '><strong>Вы не ввели логин! Пожалуйста, введите логин!</strong></span></td> </tr> </table></p>"; echo "<HTML><HEAD> <META HTTP-EQUIV='Refresh' CONTENT='5 ; URL=form_reg.php'> </HEAD></HTML>"; exit(); } //Проверка пароля if(empty($pass) || empty($pass_again) || $pass != $pass_again) { echo"<p align='center'><br> <table align='center' bgcolor='000000' width='580' border='1' cellspacing='0' cellpadding='0'><tr> <td align='center'><span style='font-size:23px; color:#FF0000; '><strong>Ошибка! Введённые пароли не совпадают!</strong></span></td> </tr> </table></p>"; echo "<HTML><HEAD> <META HTTP-EQUIV='Refresh' CONTENT='5 ; URL=form_reg.php'> </HEAD></HTML>"; exit(); } //Проверка мыла if(empty($mail)) { echo"<p align='center'><br> <table align='center' bgcolor='000000' width='580' border='1' cellspacing='0' cellpadding='0'><tr> <td align='center'><span style='font-size:23px; color:#FF0000; '><strong>Вы не ввели e-mail! Пожалуйста, введите e-mail!</strong></span></td> </tr> </table></p>"; echo "<HTML><HEAD> <META HTTP-EQUIV='Refresh' CONTENT='5 ; URL=form_reg.php'> </HEAD></HTML>"; exit(); } if (!preg_match("|^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,6}$|i", $mail)) { echo"<p align='center'><br> <table align='center' bgcolor='000000' width='580' border='1' cellspacing='0' cellpadding='0'><tr> <td align='center'><span style='font-size:23px; color:#FF0000; '><strong>Ошибка! Введите e-mail в виде <i>something@server.ru</i> <br></strong></span></td> </tr> </table></p>"; echo "<HTML><HEAD> <META HTTP-EQUIV='Refresh' CONTENT='5 ; URL=form_reg.php'> </HEAD></HTML>"; exit(); } //Если все поля заполнены, продолжение проверки if(strlen("$nick") < 3) { print"<p align='center'><br> <table align='center' bgcolor='000000' width='580' border='1' cellspacing='0' cellpadding='0'><tr> <td align='center'><span style='font-size:23px; color:#FF0000; '><strong>Ошибка! Слишком короткий логин!<br></strong></span></td> </tr> </table></p>"; echo "<HTML><HEAD> <META HTTP-EQUIV='Refresh' CONTENT='5 ; URL=form_reg.php'> </HEAD></HTML>"; exit(); } if(strlen("$pass") < 5) { print"<p align='center'><br> <table align='center' bgcolor='000000' width='580' border='1' cellspacing='0' cellpadding='0'><tr> <td align='center'><span style='font-size:23px; color:#FF0000; '><strong>Ошибка! Слишком короткий пароль!<br></strong></span></td> </tr> </table></p>"; echo "<HTML><HEAD> <META HTTP-EQUIV='Refresh' CONTENT='5 ; URL=form_reg.php'> </HEAD></HTML>"; exit(); } //Проверка $rus = array("А","а","В","Е","е","К","М","Н","О","о","Р","р","С","с","Т","Х","х"); // Массив латинских букв $eng = array("A","a","B","E","e","K","M","H","O","o","P","p","C","c","T","X","x"); // Заменяем русские буквы латинскими $eng_nick = str_replace($rus, $eng, $nick); // Заменяем латинские буквы русскими $rus_nick = str_replace($eng, $rus, $nick); // Формируем SQL-запрос $result = "SELECT nick FROM register WHERE nick LIKE '$nick' OR nick LIKE '$eng_nick' OR nick LIKE '$rus_nick'"; $myrow = mysql_query($result); if($myrow) { if(mysql_num_rows($myrow)>0) { echo"<p align='center'><br> <table align='center' bgcolor='000000' width='580' border='1' cellspacing='0' cellpadding='0'><tr> <td align='center'><span style='font-size:23px; color:#FF0000; '><strong>Ник \"$nick\" к сожалению, уже зарегистрирован. Попробуйте другой.<br></strong></span></td> </tr> </table></p>"; echo "<HTML><HEAD> <META HTTP-EQUIV='Refresh' CONTENT='7 ; URL=form_reg.php'> </HEAD></HTML>"; exit(); } } $result1 = "SELECT mail FROM register WHERE mail LIKE '$mail'"; $myrow1 = mysql_query($result1); if($myrow1) { if(mysql_num_rows($myrow1)>0) { echo"<p align='center'><br> <table align='center' bgcolor='000000' width='580' border='1' cellspacing='0' cellpadding='0'><tr> <td align='center'><span style='font-size:23px; color:#FF0000; '><strong>Адрес \"$mail\" к сожалению, уже зарегистрирован. Попробуйте другой.<br></strong></span></td> </tr> </table></p>"; echo "<HTML><HEAD> <META HTTP-EQUIV='Refresh' CONTENT='7 ; URL=form_reg.php'> </HEAD></HTML>"; exit(); } } //Регистрация пользователя $nick = mysql_escape_string($nick); $pass = mysql_escape_string($pass); $result2 ="INSERT INTO register (nick, pass, mail, ip, date) VALUES ('$nick', '$pass', '$mail', '$ip', '$date')"; if( mysql_query($result2)) { echo"<p align='center'><br> <table align='center' bgcolor='000000' width='580' border='1' cellspacing='0' cellpadding='0'><tr> <td align='center'><span style='font-size:23px; color:#606060; '><strong>Вы успешно зарегистрированы!<br> Ваш ник: $nick<br> Ваш пароль: $pass <br></strong></span></td> </tr> </table></p>"; echo "<HTML><HEAD> <META HTTP-EQUIV='Refresh' CONTENT='10 ; URL=index.php'> </HEAD></HTML>"; mysql_close(); } else { echo"<p align='center'><br> <table align='center' bgcolor='000000' width='580' border='1' cellspacing='0' cellpadding='0'><tr> <td align='center'><span style='font-size:23px; color:#FF0000; '><strong>Ошибка регистрации!<br></strong></span></td> </tr> </table></p>"; echo "<HTML><HEAD> <META HTTP-EQUIV='Refresh' CONTENT='5 ; URL=form_reg.php'> </HEAD></HTML>"; exit(mysql_error()); } ?> </body> </html> авторизация <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Processing</title> </head> <body bgcolor="#000000"> <?php include("blocks/bd.php");/*Подключаемся к базе*/ if(isset($_POST['login'])) {$login = $_POST['login'];} if(isset($_POST['pass'])) {$pass = $_POST['pass'];} //Кодирование тегов $login = htmlspecialchars($login); $pass = htmlspecialchars($pass); //Кодирование обратных слешей $login = stripslashes($login); $pass = stripslashes($pass); //Удаление пробелов $login = trim($login); $pass = trim($pass); // Формируем и выполняем SQL-запрос для посетителя с // именем $_POST['name'] $query = "SELECT pass FROM register WHERE nick='$login'"; $nme = mysql_query($query); if(!$nme) { echo"<p align='center'><br> <table align='center' bgcolor='000000' width='580' border='1' cellspacing='0' cellpadding='0'><tr> <td align='center'><span style='font-size:23px; color:#FF0000; '><strong>Ошибка выполнения запроса! Пожалуйста, напишите об этом администратору.</strong></span></td> </tr> </table></p>"; exit(); } // Если запрос вернул результат - производим дальнейшую обработку if(mysql_num_rows($nme) > 0) { // Получаем пароль $password = mysql_result($nme, 0); // Сравниваем пароль из базы данных и введённый посетителем if ($pass == $password) { // Идентификация прошла успешно - осуществляем // "вход" посетителя. Для того, чтобы в течении текущей // сессии посетитель не вводил своё имя, пароль повторно - // передаём их через сессию if(session_start()) { $_SESSION['user'] = $_POST['login']; $_SESSION['password'] = $_POST['pass']; // Осуществляем автоматический переход на // страницу index.php чтобы убедиться, что // посетитель "вошёл" echo "<HTML><HEAD> <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'> </HEAD><body>"; } } else { echo"<br> <p align='center'><br> <table align='center' bgcolor='000000' width='580' border='1' cellspacing='0' cellpadding='0'><tr> <td align='center'><span style='font-size:23px; color:#FF0000; '><strong>Ошибка идентификации: неправильный пароль</strong></span></td> </tr> </table></p>"; echo "<HTML><HEAD> <META HTTP-EQUIV='Refresh' CONTENT='4 ; URL=index.php'> </HEAD></HTML>"; exit(); } } // Если в результате запроса не получено ни одной // строки - посетитель с таким именем не зарегистрирован else { echo"<br> <p align='center'><br> <table align='center' bgcolor='000000' width='580' border='1' cellspacing='0' cellpadding='0'><tr> <td align='center'><span style='font-size:23px; color:#FF0000; '><strong>Ошибка идентификации: посетитель не зарегистрирован</strong></span></td> </tr> </table></p>"; echo "<HTML><HEAD> <META HTTP-EQUIV='Refresh' CONTENT='4 ; URL=index.php'> </HEAD></HTML>"; exit(); } ?> </body> </html> выход <?php session_start();?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Processing</title> </head> <body bgcolor="#000000"> <?php unset($_SESSION['user']); unset($_SESSION['password']); session_destroy(); echo "<HTML><HEAD> <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'> </HEAD><body>"; ?> </body> </html> |
Цитата:
|
и еще желательно листинг обернуть в [рhp][/php]
|
А как ты ошибки то увидел?
Запиши какие строчки. Давай эти строчки и тогда можно разбираться, а так это равносильно- гландам через анус ) |
Время: 23:55. |
Время: 23:55.
© OSzone.net 2001-