[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Подтверждение регистрации
veka2006
Добрый день. есть простой скрипт подтверждения регистрации по электронной почте через бд. Есть БД users, а в ней таблицы login, passsword, email и т.д
К БД подключается, но запрос не производится.
При sql запросе пишет ошибку запроса к БД. В чем проблема?
Заранее благодарен за помощь.

<?

//Интерфейс пользователя

echo"<html>";

echo"<head>";

echo"<title></title>";

echo"<meta http-equiv=\"Content-Type\" Content=\"text/html;
charset=windows-1251
\">";

echo"<meta name=\"Author\" Content=\"LoRd aka K.Karpenko\">";

echo"<meta name=\"owner\" Content=\"\">";

echo"</head>";

echo"<form action=\"\" method=\"post\" name=\"reg\">";

echo"<table style=\"width:400px; height:50px;border:1px;\" align=\"center\">";

echo"<tr><td colspan=\"2\" style=\"text-align:center\">Регистрационная
форма</td></tr>"
;

echo"<tr><td>Ваш логин:</td><td><input type=\"text\" name=\"login\"></td></tr>";

echo"<tr><td>Ваш пароль:</td><td><input type=\"password\" name=\"passwd\"></td></tr>";

echo"<tr><td>Ваш email:</td><td><input type=\"email\" name=\"email\"></td></tr>";

echo"<tr><td>Ваш IP:</td><td>".$_SERVER['REMOTE_ADDR']."</td></tr>";

echo"<tr><Td colspan=\"2\"><input type=\"submit\" name=\"reg\" value=\"Далее\"></td></tr>";

echo"</table>";

echo"</form>";

//Если кнопка была нажата то проверяем данные

if(isset($_POST['reg'])){
$login=$_POST['login'];

$passwd=$_POST['passwd'];

$email=$_POST['email'];

$ip=$_SERVER['REMOTE_ADDR'];

if(trim($login)==''){

die("Вы не ввели логин !");

}

if(trim($passwd)==''){
die("Вы не ввели пароль !");

}

if(trim($email)==''){
die("Вы не ввели ваш EMAIL !");

}

//Пароль не должен быть менее 3-х символов
if(strlen($passwd)<3){

die("Длина пароля должна быть не менее 3-х символов !");

}

//Шифруем пароль

$passwd=md5($passwd);

//Соединение с БД

$conn_id=@mysql_connect("localhost","root","") or die("Ошибка при подключении к БД!");

@mysql_select_db($conn_id);

//А пользователь ещё не зарегистрирован ?

$q=@mysql_query("SELECT id FROM `users` WHERE login='".$login."' OR email='".$email."'",$conn_id);

if(@mysql_error($conn_id)!=''){

die("Ошибка в запросе к БД !");

}

if(@mysql_num_rows($q)!=0){
die("Данный пользователь уже зарегистрирован !");

}else{

unset($q);

//Регистрируем пользователя

$q=@mysql_query("INSERT into `users`
VALUES('','"
.$login."','".$passwd."','".$email."','".$ip."','off')",$conn_id);

if(@mysql_error($conn_id)!=''){

die("Ошибка в запросе к БД!");

}

}


/**

*Начинаем процесс составления ХЕШ-подписи, для подтверждения личности
*пользователя при активации

**/


//Получаем логин пользователя в EMAIL-сети

$email_cnx=explode("@",$email);

//Формируем подпись
$checkSum=base64_encode(substr($login,0,3).$email_cnx[0].md5($_SERVER['REMOTE_ADDR']));

//Получаем временную метку

$date=time();
unset($q);

//Добавляем данные во временную таблицу

$q=@mysql_query("INSERT into `validate_temp`
VALUES('','"
.$email."','".$checkSum."','".$date."')",$conn_id);

if(@mysql_error($conn_id)!=''){

die("Ошибка в запросе к БД !");
}

//Сообщение зарегистрированному пользователю

$message="Сегодня в ".date("d.m.Y",$date)."на сайте был
зарегистрирован
пользователь с вашим email'ом. Поэтому вы получили данное письмо. Если вы не
регистрировались на нашем сайте, то попросту удалите данное письмо, а если
же это были вы то перейдите по нижеприведённой ссылке.

Аккаунт будет действителен до
"
.date("d.m.Y",mktime(0,0,0,date("d",$date)+4,date("m",$date),date("Y",$date))).",
после чего аккаунт зарегистрировать будет невозможно !

Ссылка для активации:<a
href=
\"activate.php?checkSum=".$checkSum."&email=".$email."\">Перейти</a>;

-----------------------------

С уважением администрация
Email для контактов:<a href=
\"mailto: Ik1990@list.ru\"> Ik1990@list.ru </a>";

//Посылаем сообщение пользователю

@mail($email,"Активация аккаунта",$message,"Content-Type: text/html;
charset=windows-1251"
,"From: robot@shockstudio.com");

@mysql_close();
}
?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.