Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $(document).ready(function () {
- $("#feedback").submit(function(e) {
- event.preventDefault();
- var fd = new FormData();
- fd.append('send', 'send');
- fd.append('picture', $('#picture')[0].files[0]);
- fd.append('login', $('#login').val());
- fd.append('password', $('#password').val());
- fd.append('group', $('#group').val());
- fd.append('email', $('#email').val());
- fd.append('date', $('#date').val());
- $('#info').empty();
- $.ajax ({
- url: "application/controllers/ControllerUser.php",
- type: "POST",
- processData: false,
- contentType: false,
- dataType: "json",
- data: fd,
- success: function(data) {
- console.log(data);
- alert("success");
- //for(var i = 0; i < data.length; i++) {
- // $('#info').append("<li>" + data[i] + "</li>");
- //}
- },
- error: function(xhr, status, error) {
- alert('Its error');
- console.log(xhr.responseText + '|n' + status + '|n' +error);
- }
- });
- });
- class ControllerUser extends Controller {
- function __construct() {
- $this->model = new ModelUser();
- $this->view = new View();
- $this->db = Db::getInstance();
- }
- public function actionIndex() {
- $grouplist = $this->model->getAllRow('group');
- if(isset($_POST['send'])) {
- $data = array();
- $login = $this->db->escape($_POST['login']);
- $password = $this->db->escape($_POST['password']);
- $group = $this->db->escape($_POST['group']);
- $email = $this->db->escape($_POST['email']);
- $date = $_POST['date'];
- $image = $_FILES['picture'];//картинка
- //var_dump($date);
- //Проверка логина на уникальность
- $res = $this->model->getData($login);
- $row = $this->db->fetch_assoc($res);
- $this->model->unique($row);
- //Корректность логина и эмейла
- $this->model->regex(ModelUser::LOGIN_PATTERN, $login, 'Некорректный логин');
- $this->model->regex(ModelUser::EMAIL_PATTERN, $email, 'Некорректный email');
- //Изображение абонента
- $path = 'images/';
- $explode = explode('.', $image['name']);
- $ext = array_pop($explode);
- //Проверка изображения
- $this->model->typeImg($ext, "Неподходящий тип картинки");
- $this->model->sizeImage($image, "Неподходящий размер картинки!");
- $this->model->userImage($image, "Картинка не загрузилась!");
- if(empty($this->model->getErrors())) {
- $sel = $this->model->getGroupId($group);//проверяем, еслть ли в таблице группа, которая была введена
- $gr = $this->db->fetch_assoc($sel);
- $groupid = $gr['groupId'];
- if(!$groupid) {//если есть, в group записываем значение уже существующей группы
- $new = $this->model->insertIntoGroup($group);
- $groupid = $this->db->getId();//id запроса
- $data[] = "Новая группа";
- } else {
- $data[] = "Уже существующая группа";
- }
- $new = $this->model->insertInto($groupid, $login, $password, $email, $date, $image);//новая запись в consumer
- $id_query = $this->db->getId();//id запроса
- if($new) {
- $namepic = $this->model->nameImg($path, $image, $id_query, $ext);//новое название картинки
- $update = $this->model->update($namepic, $login);//меняем название картинки на новое
- $data[] = "Успех";
- } else {
- $data[] = "Ошибка, не все поля заполнены";
- }
- } else {
- foreach($this->model->getErrors() as $err) {
- $data[] = "<br>".$err;
- $data[] = "Найдена ошибка";
- }
- }
- echo json_encode($data);
- }
- }
- UserView.php:
- <form id="feedback" enctype="multipart/form-data" method="POST">
- <label><p>Login</p><input type="text" id="login" name="login"></label>
- <label><p>Password</p><input type="password" id="password" name="password"> </label>
- <label><p>Group</p><input type="text" id="group" name="group"></label>
- <label><p>Email</p><input type="email" id="email" name="email"></label>
- <label><p>Date</p><input type="text" id="date" name="date" placeholder="YYYY-MM-DD HH:MM:SS"></label>
- <label><p>Image</p><input type="file" id="picture" name="picture"></label>
- <br><br>
- <input type="submit" name="send" id="send" value="Добавить">
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement