|  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);
Здесь все верно? |