Open GKoss opened 8 years ago
<?php if (!session_id()) session_start(); // $db_host = "localhost"; // $db_user = "root"; // $db_password = ""; // $db_name = "m_fest"; $db_host = "mysql13.000webhost.com"; $db_user = "a1041974_mfest"; $db_password = "word123123"; $db_name = "a1041974_mfest"; $mysqli = @new mysqli($db_host, $db_user, $db_password, $db_name); if ($mysqli->connect_errno) exit("$mysqli->connect_error - $mysqli->connect_errno"); $mysqli->set_charset("utf8"); // unset($_SESSION["message_success"]); $was_registration = false; $was_search = false; $ajax = false; if ($_REQUEST["register"]) $was_registration = true; if ($_REQUEST["search"]) $was_search = true; if ($_REQUEST["func"]) { $ajax = true; $func = $_REQUEST["func"]; } if (($was_registration) || ($func == "register")) { $name = $_REQUEST["name"]; $surname = $_REQUEST["surname"]; $city = $_REQUEST["city"]; $age = $_REQUEST["age"]; $email = $_REQUEST["email"]; $phone = $_REQUEST["phone"]; $pattern_email = "/^[a-z0-9_][a-z0-9\._-]*@([a-z0-9]+([a-z0-9-]*[a-z0-9]+)*\.)+[a-z]+$/i"; $pattern_phone = "/^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$/"; if (!preg_match($pattern_email, $email)) $error[] = "email"; if (!preg_match($pattern_phone, $phone)) $error[] = "phone"; if ((mb_strlen($age) > 2)) $error[] = "age"; $error_email = false; $error_phone = false; $error_age = false; $two_errors = false; $errors = false; $message_error = false; if (!empty($error)) { // <--!начало условия-- Если непустой массив ошибок то : --!> $message_error = true; // Переменная $message_error = true if (count($error) == 1) { // <--!начало условия-- Если количество элементов в массиве ошибок = 1, то : if ($error[0] == "email") $error_email = true; // Если 1й элемент массива ошибок = "email" , то $error_email = true elseif ($error[0] == "phone") $error_phone = true; // Иначе, если 1й элемент массива ошибок = "phone" , то $error_phone = true else $error_age = true; // Иначе $error_age = true; } elseif (count($error) == 2) { // <--! конец условия (Если количество элементов в массиве ошибок = 1), иначе если кол-во эл-в = 2--!> if($error[0] == "email") { // Если 1й элемент массива ошибок = "email" , то $field_1 = "Email"; // $field_1 = "Email"; if ($error[1] == "phone") { // Если 2й элемент массива ошибок = "phone" то $field_2 = "Телефон"; // $field_2 = "Телефон"; } else $field_2 = "Возраст"; // Иначе $field_2 = "Возраст"; } elseif ($error[0] == "phone") { // Иначе, если 1й элемент массива ошибок = "phone" , то $field_1 = "Телефон"; // $field_1 = "Телефон"; if ($error[1] == "age") { // Если 2й элемент массива ошибок = "age" то $field_2 = "Возраст"; // $field_2 = "Возраст"; } else $field_2 = "Email"; // Иначе $field_2 = "Email"; } else { // Иначе $field_1 = "Возраст"; // $field_1 = "Возраст"; if ($error[1] == "email") $field_2 = "Email"; // Если 2й элемент = "email" то $field_2 = "Email"; else $field_2 = "Телефон"; // Иначе $field_2 = "Телефон"; } $two_errors = true; } else $errors = true; // <--! конец условия (если кол-во эл-в = 2) , иначе $errors = true; if (!$ajax) { if ($error_email) $message_text = "Неверно заполнено поле \"Email\""; if ($error_phone) $message_text = "Неверно заполнено поле \"Телефон\""; if ($error_age) $message_text = "Неверно заполнено поле \"Возраст\""; if ($two_errors) $message_text = "Неверно заполнены поля \"$field_1\" и \"$field_2\""; if ($errors) $message_text = "Неверно заполнены поля \"Email\", \"Телефон\", и \"Возраст\""; } else { if ($error_email) echo json_encode(array("r" => false, "message" => "Неверно заполнено поле \"Email\"")); elseif ($error_phone) echo json_encode(array("r" => false, "message" => "Неверно заполнено поле \"Телефон\"")); elseif ($error_age) echo json_encode(array("r" => false, "message" => "Неверно заполнено поле \"Возраст\"")); elseif ($two_errors) echo json_encode(array("r" => false, "message" => "Неверно заполнены поля \"$field_1\" и \"$field_2\"")); else echo json_encode(array("r" => false, "message" => "Неверно заполнены поля \"Email\", \"Телефон\", и \"Возраст\"")); } } else { // <--! конец условия (Если непустой массив ошибок) --!> $query = "INSERT INTO `fest_members` (`name`, `surname`, `city`, `age`, `email`, `phone`) VALUES ('$name', '$surname', '$city', '$age', '$email', '$phone')"; $result = $mysqli->query($query); if ($result) { $_SESSION["message_success"] = "Вы успешно зарегистрировались на фестиваль !"; if (!$ajax) { $url = $_SERVER['HTTP_REFERER']; header("Location: $url"); } else echo json_encode(array("r" => true, "message" => "Вы успешно зарегистрировались на фестиваль !")); } else { if (!$ajax) { $message_error = true; $message_text = "Произошла неизвестная ошибка. Попробуйте повторить операцию позже."; } else echo json_encode(array("r" => false, "message" => "Произошла неизвестная ошибка. Попробуйте повторить операцию позже.")); } } } elseif (!empty($_SESSION["message_success"])) { $message_success = $_SESSION["message_success"]; } if (($was_search) || ($func == "search")) { $name = $_REQUEST["name"]; $surname = $_REQUEST["surname"]; $city = $_REQUEST["city"]; $age = $_REQUEST["age"]; $phone = $_REQUEST["phone"]; $error_empty = false; $search_empty = false; $fields = array("name" => $name, "surname" => $surname, "city" => $city, "age" => $age, "phone" => $phone); $empty_fields = 0; foreach ($fields as $field => $value) { if (empty($value)) { $empty_fields++; } else $s_fields["$field"] = str_replace(",", "", trim($value)); } if ($empty_fields == 5) { if (!$ajax) $error_empty = true; else echo json_encode(array("r" => false, "message" => "Вы не ввели поисковый запрос ! Заполните поля для поиска !")); } else { foreach ($s_fields as $field => $value) { $search_fields[] = $field; $search_values[] = str_replace(",", "", trim($value)); } if (count($s_fields) == 1) { $query_search = "SELECT * FROM `fest_members` WHERE `$search_fields[0]` LIKE '%$search_values[0]%'"; $go_search = $mysqli->query($query_search); while ($row = $go_search->fetch_assoc()) { $search_result[] = $row; } } else { $query_search = "SELECT * FROM `fest_members`"; $where = array(); foreach ($s_fields as $field => $value) { $where[] = "`$field` LIKE '%$value%'"; } $where = implode(" OR", $where); if ($where) $query_search .= " WHERE $where"; $go_search = $mysqli->query($query_search); while ($row = $go_search->fetch_assoc()) { $search_result[] = $row; } } if (empty($search_result)) { $search_empty = true; if ($ajax) echo json_encode(array("r" => false, "message" => "По вашему запросу пользователи не найдены.")); } elseif ($ajax) echo json_encode(array("r" => true, "message" => false, "search_data" => $search_result)); } } ?>
Серега, наконец-то код поменял. Спасибо теперь норм