24.04.2012 / 21:55 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| Ф форме emeilна email поменял, но все же: Warning: preg_match() expects at least 2 parameters, 1 given in W:\html\socart\www\reg.php on line 69
Warning: preg_match() expects at least 2 parameters, 1 given in W:\html\socart\www\reg.php on line 77
Notice: Undefined variable: name in W:\html\socart\www\reg.php on line 44
Warning: preg_match() expects at least 2 parameters, 1 given in W:\html\socart\www\reg.php on line 92
Warning: preg_match() expects at least 2 parameters, 1 given in W:\html\socart\www\reg.php on line 92
Notice: Undefined variable: surname in W:\html\socart\www\reg.php on line 45
Warning: preg_match() expects at least 2 parameters, 1 given in W:\html\socart\www\reg.php on line 98
Warning: preg_match() expects at least 2 parameters, 1 given in W:\html\socart\www\reg.php on line 98
Notice: Undefined variable: age in W:\html\socart\www\reg.php on line 46
Warning: preg_match() expects at least 2 parameters, 1 given in W:\html\socart\www\reg.php on line 104Так понимаю с переменными $name $surname $age что-то не так(они у меня не обязательны), но почему? Вроде перед тем, как их проверять, проверяется их наличия ввода в форме: if (isset($_POST['name'])) $error_valid .=valid_name($name);
if (isset($_POST['surname'])) $error_valid .=valid_surname($surname);
if (isset($_POST['age'])) $error_valid .=valid_age($age);
Изменено Dinisimys1 (24.04 / 21:57) (всего 1 раз) |
24.04.2012 / 22:03 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| Dinisimys1, Ты в preg_match() передаеш 1 аргумент, а надо 2
Изменено Naik (24.04 / 22:03) (всего 1 раз) |
24.04.2012 / 22:07 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| Удалил проверку введения данных и переместил ее в функцию. <?php
$form=<<<_REG
Реєстрація:<br />Символом <font color="red">*</font> відображенні поля для обов'язкового заповнення.<br />
<form method="post" action="reg.php" />
<b>Логін</b><font color="red">*</font>(Містить тільки символи a-z, A-Z , 1-9 , _): <input type="text" name="login" /><br /><br />
<b>Пароль</b><font color="red">*</font>(Містить тільки символи a-z, A-Z , 1-9 , _): <input type="password" name="password" /><br /><br />
<b>E-mail</b><font color="red">*</font>(У випадку втрати паролю, його можна буде відновити за допомогою e-meil): <input type="text" name="email" /><br /><br />
Ім'я: <input type="text" name="name" /><br /><br />
Прізвище: <input type="text" name="surname" /><br /><br />
Вік: <input type="text" name="age" /><br /><br />
<input type="hidden" name="id" />
<input type="hidden" name="sumbit" value="yes" />
<input type="submit" value="Реєстрація" />
</form>
_REG;
if (isset($_SESSION['login']) && isset($_SESSION['password']))
{
$login=$_SESSION['login'];
echo "Ви вже зайшли на сайт під логіном" . $login;
echo <<<_BUTTONINPUT
<form>
<input type="submit" id="buttoninput" value="Назад" />
</form>
<script>
document.getElementById('buttoninput').onclick = function()
{
history.back();
return false;
}
</script>
_BUTTONINPUT;
}
elseif (isset($_POST['sumbit']) == "yes")
{
if (!isset($_POST['login'])) $error_valid='<font color="red">Поле <b>Логін</b> не повинне бути пустим.</font><br />';
else $login=$_POST['login'];
if (!isset($_POST['password'])) $error_valid .='<font color="red">Поле <b>Пароль</b> не повинне бути пустим.</font><br />';
else $password=$_POST['password'];
if (!isset($_POST['email'])) $error_valid .='<font color="red">Поле <b>E-mail</b> не повинне бути пустим.</font><br />';
else $email=$_POST['email'];
$error_valid =valid_login($login);
$error_valid .=valid_password($password);
$error_valid .=valid_email($email);
$error_valid .=valid_name($name);
$error_valid .=valid_surname($surname);
$error_valid .=valid_age($age);
if ($error_valid == "")
{
include_once "dbserver.php";
$q="INSERT INTO 'user' VALUES ('$login', '$password', '$email', '$name', '$surname', '$age', '$id')";
$q_result=mysql_query($q);
mysql_close($db_server);
echo "Вітаю! Реєстрація пройшла успішно.<br />";
echo "Ваш логін:" . $login;
echo "<br />Ваш пароль:" . $password;
echo '<br /> <a href="/enter.php">Авторизація</a>';
}
else
{
echo $error_valid . "<br /><b>Пройдіть реєстрацію повторно</b><br />";
echo $form;
}
}
else echo $form;
function valid_login($error_valid)
{
if (4 > strlen($error_valid) && strlen($error_valid) < 15)
return '<font color="#ff0000"> В логіні повинно бути не менше 4 і не більше 15 символів</font><br />';
if (preg_match("/\W/" . $error_valid))
return '<font color="#ff0000">В логіні допускаються тільки символи a-z, A-Z, - , _</font><br />';
return "";
}
function valid_password($error_valid)
{
if (4 > strlen($error_valid) && strlen($error_valid)< 15)
return '<font color="#ff0000">В паролі повинно бути не менше 4 і не більше 15 символів</font><br />';
if (preg_match("/\W/" . $error_valid))
return '<font color="#ff0000">В паролі допускаються тільки символи a-z, A-Z, - , _</font><br />';
return "";
}
function valid_email($error_valid)
{
if (!((strpos($error_valid, ".") > 0) &&
(strpos($error_valid, "@") > 0) ||
preg_match("/[^a-zA-Z0-9.@_-]/", $error_valid))
)
return '<font color="#ff0000">Електронна пошта має невірний формат</font><br />';
return "";
}
function valid_name($error_valid)
{
if ($error_valid == "") return "";
if (preg_match("/\D/". $error_valid) || preg_match("/[^-_@]/". $error_valid))
return '"<font color="#ff0000">В імені допускаються тільки символи україньського, російського або англійського алфавіту.</font><br />';
return "";
}
function valid_surname($error_valid)
{
if ($error_valid == "") return "";
if (preg_match("/\D/". $error_valid) || preg_match("/[^-_@]/". $error_valid))
return '"<font color="#ff0000">В прізвищі допускаються тільки символи україньського, російського або англійського алфавіту.</font><br />';
return "";
}
function valid_age($error_valid)
{
if ($error_valid == "") return "";
if (preg_match("/\d/") . $error_valid)
return '<font color="#ff0000">Поле <b>Вік</b> може містити тільки цифри</font><br />';
if (9 > $error_valid || $error_valid < 80)
return '<font color="#ff0000">Вік повинен бути між 9 і 80 років.</font><br />';
return "";
}
?>
Количество ошибок меньше: Warning: preg_match() expects at least 2 parameters, 1 given in W:\html\socart\www\reg.php on line 69
Warning: preg_match() expects at least 2 parameters, 1 given in W:\html\socart\www\reg.php on line 77
Notice: Undefined variable: name in W:\html\socart\www\reg.php on line 44
Notice: Undefined variable: surname in W:\html\socart\www\reg.php on line 45
Notice: Undefined variable: age in W:\html\socart\www\reg.php on line 46
Notice: Undefined variable: name in W:\html\socart\www\reg.php on line 50
Notice: Undefined variable: surname in W:\html\socart\www\reg.php on line 50
Notice: Undefined variable: age in W:\html\socart\www\reg.php on line 50
Notice: Undefined variable: id in W:\html\socart\www\reg.php on line 50Теперь сообщило о успешной реги, но в бд нет ничего |
24.04.2012 / 22:14 | |
TAPAHbl4 Пользователь Сейчас: Offline
Имя: TAPAHbl4 Регистрация: 15.01.2012
| А чё у тебя в регулярках не запятые, а точки? |
24.04.2012 / 22:14 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| Первых две ошибки исправил, а остальные - чет не пойму в чем проблема
|
24.04.2012 / 22:15 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| TAPAHbl4 (24.04.2012/22:14)А чё у тебя в регулярках не запятые, а точки?Да, я это именно исправил. В учебнику не видно было запятые, они как точки были. Вот и писал так |
24.04.2012 / 22:16 | |
TAPAHbl4 Пользователь Сейчас: Offline
Имя: TAPAHbl4 Регистрация: 15.01.2012
| функцию valid_name в студию
|
24.04.2012 / 22:23 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| Ура, ошибок нет. Надо было просто переменные инициализировать(или как там это называется ) НоБ лин в бд юзера не записывает. Еще вопрос: Поле id записываеться в бд, но оно пустое, но в таблице я ему доп.свойство AUTO_INCREMENT присвоил. Получаеться id будет автоматическм цыфры присваиваться? |
24.04.2012 / 22:26 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| TAPAHbl4, function valid_name($error_valid) { if ($error_valid == "") return ""; if (preg_match("/\D/", $error_valid) || preg_match("/[^-_@]/", $error_valid)) return '"<font color="#ff0000">В імені допускаються тільки символи україньського, російського або англійського алфавіту.</font><br />'; return ""; }
|
24.04.2012 / 22:29 | |
Dinisimys1 Пользователь Сейчас: Offline
Имя: Денис Регистрация: 23.01.2011
| include_once "dbserver.php";
$q="INSERT INTO user VALUES ('$login', '$password', '$email', '$name', '$surname', '$age', '$id')";
$q_result=mysql_query($q);
mysql_close($db_server);
Здесь все верно? |