<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру 2.0

PHP и MySQL с Нуля до Гуру 2.0

Данный курс научит Вас программировать на самом популярном Web-языке в мире - PHP. Курс состоит из 11 разделов, в которых с нуля рассказывается и показывается процесс написания различных скриптов на PHP.

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

Почти к каждому уроку идут упражнения.

Просмотрев данный курс, Вы сможете создавать абсолютно любые PHP-сайты любой сложности.

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

Подписавшись по 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-код ссылки для форумов (например, можете поставить её в подписи):

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

gm gm 26.06.2015 03:23:15

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

Ответить

Ljubin Ljubin 17.09.2015 12:04:46

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

Ответить

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