<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

Данный курс научит Вас создавать крупные проекты на Java грамотно и быстро. В курсе Вы увидите создание большой и сложной программы на Java абсолютно с нуля.

В начале курса у нас будет только идея, а в конце готовый продукт, который можно использовать в практических целях.

В рамках упражнений курса Вы параллельно со мной будете создавать свою большую программу на Java, что даст Вам необходимую практику, после которой для Вас уже не будет разницы, какого размера создавать программы.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Создание движка на MVC. Делаем возможность редактирования и удаления пользователей.

Создание движка на MVC. Делаем возможность редактирования и удаления пользователей.

Всем привет! Продолжаем создавать наш движок на MVC, и сегодня мы сделаем редактирование и удаление пользователей из базы данных.

Во-первых, в файле index.php(views/user) мы укажем правильный путь для ссылок в цикле.

// ...
echo '<td><a href="'.URL.'user/edit/'.$value['id'].'">Edit</a>
<a href="'.URL.'user/delete/'.$value['id'].'">Delete</a></td>';
// ...

Теперь в контроллере user.php опишем метод delete.

public function delete($id) {
  $this->model->delete($id);
  header('Location: '.URL.'user');
}

Как обычно теперь переходим в user_model.php и создаем там этот метод

public function delete($id) {
  $sth = $this->db->prepare('DELETE FROM users WHERE id = :id');
  $sth->execute(array(
   ':id' => $id
  ));
}

Прекрасно! Удаление уже работает. Теперь откроем user.php

public function edit($id) {
  $this->view->user = $this->model->userSingleList($id);
  $this->view->render('user/edit');
}

public function editSave($id) {

}

Из index.php скопируйте форму, создайте файл edit.php в папке user.

<h1>User: edit</h1>
// Форма

В форме поменяйте action

<form action="<?php echo URL;?>user/editSave/<?php echo $this->user['id'];?>"></form>

Также следует изменить поля ввода. Для поля Login добавим атрибут value со значением из БД.

value="<?php echo $this->user['login'];?>"

Теперь сделаем проверку роли пользователя

<option value="default" <?php if($this->user['role'] == 'default') echo 'selected';?>Default</option>
<option value="admin" <?php if($this->user['role'] == 'admin') echo 'selected';?>Admin</option>
<option value="owner" <?php if($this->user['role'] == 'owner') echo 'selected';?>Owner</option>

Откроем файл user_model.php и создадим там метод userSingleList

public function userSingleList($id) {
  $sth = $this->db->prepare('SELECT id, login, role FROM users WHERE id = :id');
  $sth->execute(array(':id' => $id));
  return $sth->fetch();
}

Теперь давайте откроем файл user.php, скопируйте все из метода create и вставьте в editSave выше заголовка header(проверьте, чтобы у вас не было двух подряд идущих заголовка).

Тут нужно поменять лишь следующее

$this->model->editSave($data);

Теперь в модели также скопируем метод create и назовем его editSave

Изменим SQL-запрос

UPDATE users SET `login` = :login, `password` = :password, `role` = :role WHERE id = :id

Конечно же, нужно добавить md5 шифрование пароля в массиве

md5($data['password'])

и добавить id в массив

':id' => $data['id']

В метод editSave в файле user.php также добавим id

$data['id'] = $id;

Вот и все. Мы сделали редактирование и удаление пользователей из базы данных.

Спасибо за внимание!

P.S. Если вы не очень понимаете ООП, то советую приобрести курс Создание движка на PHP и MySQL 2.0, где данная тема рассмотрена очень подробно.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (3):

gm gm 26.06.2015 03:23:15

Михаил, у меня к вам одна просьба, прилепляйте готовые файлы к уроку. Это было бы очень здорово и помогло понять всю суть урока. А то иногда приходиться гадать, недописан урок или была допущена ошибка... Что портит общее впечатление. С уважение, Андрей.

Ответить

Ljubin Ljubin 17.09.2015 12:04:46

Думать, думать и ещё раз - думать! Как говорил великий - Кетцалькоатель. Ну, или купите курс.))

Ответить

pligin pligin 08.02.2018 13:22:39

о шифровании - мы скопировали из Create в editSave, а там уже присутствует MD5 на пароль из пост запроса. при проверке роли пользователя перед названием роли упущены знаки ">" закрывающие option. и почему данные подготавливаются в контроллере, а не в модели? Почему бы сразу не отдать в метод eitSave модели User весь $_POST и $id, т.е. передать два параметра и два параметра принять, а проще разобрать $_POST в модели

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.