<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

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

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

Подписавшись по 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

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

Ответить

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