К БД подключается, но запрос не производится.
При 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();
}
?>