Создание движка на MVC. Создаем возможность добавления пользователя в базу данных через админ панель
 
			Здарова всем, сегодня мы продолжим создавать наш движок и займемся созданием возможности добавления пользователя через админ панель.
Откроем контроллер user.php и создадим 3 метода, также изменим метод index.
public function index() {
  $this->view->userList = $this->model->userList();
  $this->view->render('user/index');
}
public function create() {
  $data = array();
  $data['login'] = $_POST['login'];
  $data['password'] = md5($_POST['password']);
  $data['role'] = $_POST['role'];
  $this->model->create($data);
  header('Location: '.URL.'user');
}
public function edit($id) {
  // будет сделано позже
}
public function delete($id) {
  // будет сделано позже
}
Создадим модель user_model.php
class User_Model extends Model {
  public function __construct() {
   parent::__construct();
  }
  public function userList() {
   $sth = $this->db->prepare('SELECT id, login, role FROM users');
   $sth->execute();
   $sth->fetchAll();
   return $sth->fetchAll();
  }
  public function create($data) {
   $sth = $this->db->prepare('INSERT INTO users(`login`, `password`, `role`)
   VALUES(:login, :password, :role)');
   $sth->execute(array(':login' => $data['login'], ':password' => $data['password'], ':role' => $data['role']));
  }
}
Теперь откроем файл index.php, который находится в views/user.
<h1>User</h1>
<form method="post" action="<?php echo URL;?>user/create">
<label>Login</label><input type="text" name="login"><br>
<label>Password</label><input type="text" name="password"><br>
<label>Role</label>
<select name="role">
<option value="default">Default</option>
<option value="admin">Admin</option>
</select><br>
<label> </label><input type="submit">
</form>
<hr>
<table>
<?php
  foreach($this->userList as $key => $value) {
   echo '<tr>';
   echo '<td>'.$value['id'].'</td>';
   echo '<td>'.$value['login'].'</td>';
   echo '<td>'.$value['role'].'</td>';
   echo '<td><a href="#">Edit</a> <a href="#">Delete</a></td>';
   echo '<br>';
  }
?>
</table>
Итак, пока что остановимся на этом. Сегодня мы сделали возможность добавления пользователя в базу данных через админ панель. Спасибо за внимание и удачи!
- 
					Создано 08.09.2014 20:47:30  
- 
					 Михаил Русаков Михаил Русаков
 
			 
			 
		 
				 
			 
				 
				 
				 
				
Комментарии (2):
В методе userList модели User ошибка, два раза вызывается fetchAll() и как результат возвращается пустой массив
Ответить
А где разграничение прав? Все имеют доступ к user
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.