Ernesto
@Ernesto
Junior

Почему POST-запрос не сохраняет данные из формы в базу данных?

Разбираюсь с fat-free framework вот по этой статье

www.w3programmers.com/crud-with-fat-free-framework

Пытаюсь воспроизвести пример с небольшими изменениями, не работает сохранение из формы в БД.
при POST-запросе (добавлении или изменении) возвращается опять на экран с формой без всяких ошибок. Полностью все исходники не выкладываю, основное.

Модель
<?php

class News extends DB\SQL\Mapper {
	
	public function __construct(DB\SQL $db)
	{
		parent::__construct($db,'article');
	}
	public function all()
	{
		$this->load();
		return $this->query;
	}
	public function add()
	{
		$this->copyFrom('POST');
		$this->save();
	}
	public function getById($id)
	{
		$this->load(array('id=?',$id));
		$this->copyTo('POST');
	}

	public function edit($id)
	{
		$this->load(array('id=?',$id));
		$this->copyFrom('POST');
		$this->update();
	}
	public function delete($id)
	{
		$this->load(array('id=?',$id));
		$this->erase();
	}
}

контроллер
public function create()
	{
		if($this->f3->exists('POST.create'))
		{
			$news = new News($this->db);
			$news->add();
			$this->f3->reroute('/edit');

		} else
		{
			$this->f3->set('view','news/create.html');
		}
	}

	public function update()
	{
      $news = new News($this->db);

      if($this->f3->exists('POST.update'))
      {
        $news->edit($this->f3->get('POST.id'));
        $this->f3->reroute('/edit');

      } else
      {
        $news->getById($this->f3->get('PARAMS.id'));
        $this->f3->set('article',$news);
        $this->f3->set('view','news/update.html');
       }
	}

форма update.html
form action="{{ @BASE.'/update' }}" method="post">

    <input  id="newsTitle" name="newsTitle" type="text" value="{{ @POST.newsTitle }}" >
    <input  id="newsDate" name="newsDate" type="text" value="{{ @POST.newsDate }}" >
                   
    <textarea rows = "5" name="newsContent">{{ @POST.newsContent }}</textarea>

    <button type="submit" class="btn btn-primary">Добавить</button>

</form>
  • Вопрос задан
  • 3149 просмотров
Пригласить эксперта
Ответы на вопрос 1
Chvalov
@Chvalov
В форме update.html в инпутах name="СТРОКА В БД"

Тоесть если у меня есть БД с Таблицей USERS и есть поле login, lastname и так дальше то форма у меня будет следующей:
<input  id="newsTitle" name="login" type="text" value="{{ @POST.login}}" >
<input  id="newsDate" name="lastname" type="text" value="{{ @POST.lastname}}" >


и вот есть таже статья на русском - valex.net.ru/fatfree-mvc.html
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы