Advertisement
Guest User

Untitled

a guest
Dec 27th, 2016
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.80 KB | None | 0 0
  1. $(document).ready(function () {
  2.  
  3. $("#feedback").submit(function(e) {
  4. event.preventDefault();
  5.  
  6. var fd = new FormData();
  7.  
  8. fd.append('send', 'send');
  9. fd.append('picture', $('#picture')[0].files[0]);
  10. fd.append('login', $('#login').val());
  11. fd.append('password', $('#password').val());
  12. fd.append('group', $('#group').val());
  13. fd.append('email', $('#email').val());
  14. fd.append('date', $('#date').val());
  15.  
  16. $('#info').empty();
  17.  
  18. $.ajax ({
  19. url: "application/controllers/ControllerUser.php",
  20. type: "POST",
  21. processData: false,
  22. contentType: false,
  23. dataType: "json",
  24. data: fd,
  25. success: function(data) {
  26. console.log(data);
  27. alert("success");
  28. //for(var i = 0; i < data.length; i++) {
  29. // $('#info').append("<li>" + data[i] + "</li>");
  30. //}
  31. },
  32. error: function(xhr, status, error) {
  33. alert('Its error');
  34. console.log(xhr.responseText + '|n' + status + '|n' +error);
  35. }
  36. });
  37. });
  38.  
  39. class ControllerUser extends Controller {
  40.  
  41. function __construct() {
  42. $this->model = new ModelUser();
  43. $this->view = new View();
  44. $this->db = Db::getInstance();
  45. }
  46.  
  47. public function actionIndex() {
  48.  
  49. $grouplist = $this->model->getAllRow('group');
  50.  
  51. if(isset($_POST['send'])) {
  52. $data = array();
  53. $login = $this->db->escape($_POST['login']);
  54. $password = $this->db->escape($_POST['password']);
  55. $group = $this->db->escape($_POST['group']);
  56. $email = $this->db->escape($_POST['email']);
  57. $date = $_POST['date'];
  58. $image = $_FILES['picture'];//картинка
  59. //var_dump($date);
  60.  
  61. //Проверка логина на уникальность
  62. $res = $this->model->getData($login);
  63. $row = $this->db->fetch_assoc($res);
  64. $this->model->unique($row);
  65.  
  66. //Корректность логина и эмейла
  67. $this->model->regex(ModelUser::LOGIN_PATTERN, $login, 'Некорректный логин');
  68. $this->model->regex(ModelUser::EMAIL_PATTERN, $email, 'Некорректный email');
  69.  
  70. //Изображение абонента
  71. $path = 'images/';
  72. $explode = explode('.', $image['name']);
  73. $ext = array_pop($explode);
  74.  
  75. //Проверка изображения
  76. $this->model->typeImg($ext, "Неподходящий тип картинки");
  77. $this->model->sizeImage($image, "Неподходящий размер картинки!");
  78. $this->model->userImage($image, "Картинка не загрузилась!");
  79.  
  80. if(empty($this->model->getErrors())) {
  81. $sel = $this->model->getGroupId($group);//проверяем, еслть ли в таблице группа, которая была введена
  82. $gr = $this->db->fetch_assoc($sel);
  83. $groupid = $gr['groupId'];
  84. if(!$groupid) {//если есть, в group записываем значение уже существующей группы
  85. $new = $this->model->insertIntoGroup($group);
  86. $groupid = $this->db->getId();//id запроса
  87. $data[] = "Новая группа";
  88. } else {
  89. $data[] = "Уже существующая группа";
  90. }
  91.  
  92. $new = $this->model->insertInto($groupid, $login, $password, $email, $date, $image);//новая запись в consumer
  93. $id_query = $this->db->getId();//id запроса
  94.  
  95. if($new) {
  96. $namepic = $this->model->nameImg($path, $image, $id_query, $ext);//новое название картинки
  97. $update = $this->model->update($namepic, $login);//меняем название картинки на новое
  98. $data[] = "Успех";
  99. } else {
  100. $data[] = "Ошибка, не все поля заполнены";
  101. }
  102.  
  103. } else {
  104. foreach($this->model->getErrors() as $err) {
  105. $data[] = "<br>".$err;
  106. $data[] = "Найдена ошибка";
  107. }
  108. }
  109. echo json_encode($data);
  110. }
  111. }
  112.  
  113.  
  114. UserView.php:
  115.  
  116.  
  117. <form id="feedback" enctype="multipart/form-data" method="POST">
  118. <label><p>Login</p><input type="text" id="login" name="login"></label>
  119. <label><p>Password</p><input type="password" id="password" name="password"> </label>
  120. <label><p>Group</p><input type="text" id="group" name="group"></label>
  121. <label><p>Email</p><input type="email" id="email" name="email"></label>
  122. <label><p>Date</p><input type="text" id="date" name="date" placeholder="YYYY-MM-DD HH:MM:SS"></label>
  123. <label><p>Image</p><input type="file" id="picture" name="picture"></label>
  124. <br><br>
  125. <input type="submit" name="send" id="send" value="Добавить">
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement