Здравствуйте. Вываливается ошибка, при обработке регулярного выражения: PHP: if (preg_match ("/^[a-zа-я\ ]{1,25}$/iu", $name)... Вот сама ошибка: --- Добавлено --- Причём такое выражение: PHP: if (preg_match ("/^[a-zа-я0-9_\-\ ]{6,100}$/iu", $pass)) работает.
Вроде всё проверил.... Спойлер PHP: <?php if (isset ($_POST["do"])) { if ($_POST["do"] == "reg_email") { if (isset ($_POST["email"])) { $email = $_POST["email"]; if (empty ($email) || strlen ($email) == "0") { die ("empty_email"); } else { if (filter_var ($email, FILTER_VALIDATE_EMAIL)) { die ("correct_email"); } else die ("uncorrect_email"); } } else die ("expected_email"); } else if ($_POST["do"] == "reg_pass") { if (isset ($_POST["password"])) { $pass = $_POST['password']; if (empty ($pass) || strlen ($pass) == "0") { die ("empty_password"); } else { if (preg_match ("/^[a-zа-я0-9_\-\ ]{6,100}$/iu", $pass)) { die ("correct_password"); } else die ("uncorrect_password"); } } else die ("expected_password"); } else if ($_POST["do"] == "reg_passr") { if (isset ($_POST["passwordr"]) && isset ($_POST["passwordr"])) { $pass = $_POST['password']; $passr = $_POST['passwordr']; if (!isset ($passr) || strlen ($passr) == "0") { die ("empty_passwordr"); } else { if ($pass == $passr) { die ("passwords_match"); } else die ("passwords_no_match"); } } else die ("expected_passwordr"); } else if ($_POST["do"] == "reg_name") { if (isset ($_POST["name"])) { $name = $_POST['name']; if (empty ($name) || strlen ($name) == "0") { die ("empty_name"); } else { if (preg_match ("/^[a-zа-я\ ]{1,25}$/iu", $name) { die ("correct_name"); } else die ("uncorrect_name"); } } else die ("expected_name"); } else if ($_POST["do"] == "reg_surname") { if (isset ($_POST["surname"])) { $surname = $_POST['surname']; if (!isset ($surname) || strlen ($surname) == "0") { die ("empty_name"); } else { if (preg_match ("/^[a-zа-я]{1,25}$/iu", $surname) { die ("correct_name"); } else die ("uncorrect_name"); } } else die ("expected_name"); } } else die ("data_error"); ?>
используй IDE, что бы тебе сразу такого рода ошибки подсвечивало. строка 101: PHP: if (preg_match ("/^[a-zа-я]{1,25}$/iu", $surname) { где закрывающая круглая скобка от if ? --- Добавлено --- и какое то болото у тебя код, неправильно так писать.
чувак используй классы и разбивай те или иные проверки на методы, в конце концов анонимные функции используй.
Зачем, что - то искать, когда можно прочитать Не знаешь англ., вбей в переводчик. Там отражена суть ошибки, что неожиданный { на строке такой - то, смотря на строку можно понять, что с ней не так. Старайся переводить ошибки, так ты потом сможешь лучше ориентироваться какая ошибка и что значит. Так как если бы была в регулярке, то начало ошибки было бы вида: Warning: preg_match(): No ending matching delimiter '}' found in...