<?php
include ("bd.php");
$errors = array();
if (empty($_POST['login'])) {$login = $_POST['login']; $errors[] = 'Вы не ввели логин';}
if (empty($_POST['pass'])) {$pass = $_POST['pass']; $errors[] = 'Вы не ввели пароль';}
if (empty($_POST['pass_2'])) {$pass_2 = $_POST['pass_2']; $errors[] = 'Вы не ввели подтверждение пароля';}
if (empty($_POST['email'])) {$email = $_POST['email']; $errors[] = 'Вы не ввели почтовый адрес';}
if (empty($_POST['ICQ'])) {$ICQ = $_POST['ICQ']; }
if (empty($_POST['name'])) {$name = $_POST['name']; $errors[] = 'Вы не ввели имя';}
if (empty($_POST['famyli'])) {$famyli = $_POST['famyli'];}
if (empty($_POST['sity_0'])) {$sity_0 = $_POST['sity_0']; $errors[] = 'Вы не ввели свой город';}
if (empty($errors))
{
$result=mysql_query ("INSERT INTO users SET login='$login', pass='$pass', email='$email', ICQ='$ICQ', name='$name', famyli='$famyli', sity_0='$sity_0'");
}
if ($result)
{
echo "Поздравляем с регистрацией в Запредельном мире";
}
else
{
if (mysql_error()) echo mysql_error();
foreach ($errors as $error) echo $error.
print ('<a href="reg.php"> Вернуться к форме');
end($errors);
}
?>
вот сам код обработки регистрации.
Суть проблемы: после нажатия ЗАРЕГЕСтрировать в базу добавляеться строчка но с пустыми данными не могу понять в чем дело помогите плиз
Спустя 14 минут, 58 секунд (25.11.2009 - 10:32) Rigel написал(а):
может
и т.д.
if (!empty($_POST['login']))
{
$login = $_POST['login'];
$errors[] = 'Вы не ввели логин';
}
и т.д.

Спустя 17 секунд (25.11.2009 - 10:33) Семён написал(а):
Может просто данных нет и код оформлен некорректно?

Спустя 1 минута, 47 секунд (25.11.2009 - 10:35) Chudik написал(а):
$result=mysql_query ("INSERT INTO users SET login='$login', pass='$pass', email='$email', ICQ='$ICQ', name='$name', famyli='$famyli', sity_0='$sity_0'");
}
Вот такпопробуй:
$query = "INSERT INTO users (login, pass, email) VALUES('$login', '$pass', '$email')";
mysql_query($query) or die(mysql_error());
Спустя 1 минута, 24 секунды (25.11.2009 - 10:36) Rigel написал(а):
Zaraza
браузерку делаешь нибось?
браузерку делаешь нибось?

Спустя 12 минут, 58 секунд (25.11.2009 - 10:49) silicid написал(а):
Цитата (Rigel @ 25.11.2009 - 07:32) |
может
и т.д. ![]() |
Что за бред? Если значение не пустое то заполнить поле ошибки и сохранить значение?
Наверное имел ввиду такое?
if (!empty($_POST['login']))
$login = $_POST['login'];
else
$errors[] = 'Вы не ввели логин';
Иначе в базу попадут нулы.
А вообще проблему надо смотреть с отправляемой формы.
Попробуй сделать var_dump() для входных данных и массива errors, смотри что тебе приходит с формы регистрации
Спустя 56 секунд (25.11.2009 - 10:50) Rigel написал(а):
silicid
ой, да, я с логикой попутал
ой, да, я с логикой попутал
Спустя 55 минут, 56 секунд (25.11.2009 - 11:46) Zaraza написал(а):
Вот все сделал спасибки всем кто помог.
Да делаю браузерку и параллельно изучаю ПХП
Да делаю браузерку и параллельно изучаю ПХП
<?php
include ("bd.php");
$errors = array();
if (empty($_POST['login'])) $errors[] = 'Вы не ввели логин';
else $login = $_POST['login'];
if (empty($_POST['pass'])) $errors[] = 'Вы не ввели пароль';
else $pass = $_POST['pass'];
if (empty($_POST['pass_2'])) $errors[] = 'Вы не ввели подтверждение пароля';
else $pass_2 = $_POST['pass_2'];
if (empty($_POST['email'])) $errors[] = 'Вы не ввели почтовый адрес';
else $email = $_POST['email'];
if (!empty($_POST['ICQ'])) $ICQ = $_POST['ICQ'];
if (empty($_POST['name'])) $errors[] = 'Вы не ввели имя';
else $name = $_POST['name'];
if (!empty($_POST['famyli'])) $famyli = $_POST['famyli'];
if (empty($_POST['sity_0'])) $errors[] = 'Вы не ввели свой город';
else $sity_0 = $_POST['sity_0'];
//разбираем блок с полом
$aGender = $_POST['gender'];
if ($aGender=='Мужской'){
$aUserGender = 1;
}else{
$aUserGender = 2;
}
//объявляем переменные на дату и собираем их в пачку
$Month = $_POST['month'];
$Year = $_POST['year'];
$Day = $_POST['day'];
$Date = $Year."-".$Month."-".$Day;
if (empty($errors))
{
$result=mysql_query ("INSERT INTO users SET login='$login', pass='$pass', email='$email', ICQ='$ICQ', name='$name', famyli='$famyli', sity_0='$sity_0', male='$aUserGender', aDate='$Date'");
}
if ($result)
{
echo "Поздравляем с регистрацией в Запредельном мире";
}
else
{
if (mysql_error()) echo mysql_error();
foreach ($errors as $error) echo $error.
print ('<a href="reg.php"> Вернуться к форме');
end($errors);
}
?>
Спустя 14 минут, 22 секунды (25.11.2009 - 12:00) Семён написал(а):
Вот так и пишутся корявые сайты

Спустя 1 час, 10 минут, 2 секунды (25.11.2009 - 13:10) silicid написал(а):
Цитата (Семён @ 25.11.2009 - 09:00) |
Вот так и пишутся корявые сайты ![]() |
+1
Спустя 9 минут, 21 секунда (25.11.2009 - 13:20) silicid написал(а):
Zaraza
Сделай предзаполнение или альтернативное присвоение таких параметров как $ICQ, иначе будут сыпаться предупреждения о необъявленных переменных. Запрос в бд перепиши. И добавь защиту от sql-инъекций. Для пола можно использовать булевкую пременную, если у тебя конечно 2 пола (сталкивался с БД медицинского учреждения, там было 6 полов...). В общем этот код перепишешь еще много раз...
Сделай предзаполнение или альтернативное присвоение таких параметров как $ICQ, иначе будут сыпаться предупреждения о необъявленных переменных. Запрос в бд перепиши. И добавь защиту от sql-инъекций. Для пола можно использовать булевкую пременную, если у тебя конечно 2 пола (сталкивался с БД медицинского учреждения, там было 6 полов...). В общем этот код перепишешь еще много раз...
Спустя 10 минут, 25 секунд (25.11.2009 - 13:30) Ka4_0k написал(а):
Цитата |
INSERT INTO users SET login='$login', pass='$pass', email='$email', ICQ='$ICQ', name='$name', famyli='$famyli', sity_0='$sity_0', male='$aUserGender', aDate='$Date' |
Вы что не нашли в этом ЖЕСТИ? Chudik прав.
Спустя 41 минута, 18 секунд (25.11.2009 - 14:11) Rigel написал(а):
Zaraza
о, я думал я один так php учу
тоже браузерку делаю
о, я думал я один так php учу

тоже браузерку делаю
