Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Форма регистрации пользователя

Ответить
Настройки темы
Форма регистрации пользователя

Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Господа товарищи спецы! Мне надо сделать на сайте (РНР )регистрацию я создал папку 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>

Отправлено: 14:49, 26-11-2008

 
mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


Цитата lepota:
а дальше ошибки пошли »
может быть, лучше не искать неизветно чего в длинном-длинном листинге, а посмотреть сразу ошибки? (кстати, тогда и яснее было бы, что именно искать в листинге)

Отправлено: 15:48, 26-11-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Arrest

runs with scissors


Сообщения: 642
Благодарности: 77

Профиль | Отправить PM | Цитировать


и еще желательно листинг обернуть в [рhp][/php]

-------
- Why do you call this version of software 'beta'?
- Coz it's beta than nothing.


Отправлено: 17:17, 26-11-2008 | #3


Пользователь


Сообщения: 74
Благодарности: 11

Профиль | Сайт | Отправить PM | Цитировать


А как ты ошибки то увидел?
Запиши какие строчки.
Давай эти строчки и тогда можно разбираться, а так это равносильно- гландам через анус )

-------
На все вопросы не хватит ответов - www.luzerblog.ru


Отправлено: 22:44, 26-11-2008 | #4



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Форма регистрации пользователя

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Система - Даные о регистрации Карина Программное обеспечение Windows 4 29-03-2009 23:08
траблы регистрации zp040269kal Microsoft Windows NT/2000/2003 2 13-12-2007 18:44
[решено] Долгая загрузка операционной системы до регистрации пользователя GreyBor Microsoft Windows NT/2000/2003 48 02-03-2006 09:21
Скрипт регистрации OlegX Вебмастеру 3 23-02-2006 22:57
[решено] Запрет регистрации пользователя на DC - "Интерактивный вход в систему .." Guest Microsoft Windows NT/2000/2003 9 20-03-2004 12:44




 
Переход