PHP

Обработка регистрации на сайте...

Помогите пожалуйсто, уже не понимаю изз а чего выдает "Ошибка! Вы не зарегистрированы.", если все данные ввожу правильно Хотел нормально сделать регу на сайт, и видимо проблема тут:
<?php
if (isset($_POST['name'])) { $name = $_POST['name']; if ($name == '') { unset($name);} } 
if (isset($_POST['email'])) { $email = $_POST['email']; if ($email == '') { unset($email);} } 
if (isset($_POST['famil'])) { $famil = $_POST['famil']; if ($famil == '') { unset($famil);} } 
if (isset($_POST['icq_skype'])) { $icq_skype = $_POST['icq_skype']; if ($icq_skype == '') { unset($icq_skype);} } 

if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} }
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }

if (empty($login) or empty($password) or empty($email) or empty($name) or empty($famil)) 
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
}
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
$name = stripslashes($name);
$name = htmlspecialchars($name);
$email = stripslashes($email);
$email = htmlspecialchars($email);
$famil = stripslashes($famil);
$famil = htmlspecialchars($famil);
$icq_skype = stripslashes($icq_skype);
$icq_skype = htmlspecialchars($icq_skype);

$login = trim($login);
$password = trim($password);
$email = trim($email);
$famil = trim($famil);
$name = trim($name);
$icq_skype = trim($icq_skype);


include ("db.php"); 

$result = mysql_query("SELECT id FROM users WHERE login='$login'",$db);
$result_email = mysql_query("SELECT id FROM users WHERE email='$email'",$db);
$myrow = mysql_fetch_array($result);
$myrow2 = mysql_fetch_array($result_email);
if (!empty($myrow['id']) or !empty($myrow2['id'])) {
exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин.");
}

$result = mysql_query ("INSERT INTO users (login,password,name,famil,email,icq/skype) VALUES('$login','$password','$name','$famil','$email','$icq_skype')");
// Проверяем, есть ли ошибки
if ($result)
{
echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a>";
}
else {
echo "Ошибка! Вы не зарегистрированы.";
}
?>


А разве mysql_query возвращает параметр 'TRUE' ???
по этому лучше сделать как
if ($result)
{
echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт. <a href='index.php'>Главная страница</a>";
}
else {
echo "Ошибка! Вы не зарегистрированы.";
}

это во-первых.
Во-вторых, вот это
result = mysql_query("SELECT id FROM users WHERE login='$login'",$db);
$result_email = mysql_query("SELECT id FROM users WHERE email='$email'",$db);
$myrow = mysql_fetch_array($result);
$myrow2 = mysql_fetch_array($result_email);
if (!empty($myrow['id']) or !empty($myrow2['id']))
....

можно написать как
$result = mysql_query("SELECT id FROM users WHERE login='$login' OR email='$email'",$db);

а вот эту проверку:
if (!empty($myrow['id']) or !empty($myrow2['id']))

заменить на
if(mysql_num_rows($resul) > 0)
exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин.");
Добавлено: 24 Августа 2013 03:37:15 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...