Передача данных обработчику HTML-формы POST-методом

Имеется html-форма:

<form method="post" action="/index.php?action=article/edit&id=<?= $_GET['id']; ?>">
    <h5>Введите название статьи</h5>
    <input type="text" name="title" value="<?= $viewArticle->title ?>"><br>
    <h5>Выберите категорию статьи</h5>
    <input type="text" name="categoryId" value="<?= $viewArticle->categoryId ?>"><br>
    <h5>Краткое описание статьи</h5>
    <textarea rows="5" cols="100" name="summary"><?= $viewArticle->summary ?></textarea><br>
    <h5>Текст статьи</h5>
    <textarea rows="20" cols="100" name="content"><?= $viewArticle->content ?></textarea><br>
    
    <input type="submit" name="saveChanges" value="Сохранить">
    <input type="submit" name="cancel" value="Назад">
</form>

и её обработчик:

 public function editAdminAction()
    {
        $id = $_GET['id'];
        
        \DebugPrinter::debug($_POST);
        \DebugPrinter::debug($id);
        
        if (!empty($_POST)) {
            
            if ($_POST['saveChanges'] == 'Сохранить') {
//               \DebugPrinter::debug('$_POST');
                $Article = new Article();
                $newArticle = $Article->loadFromPost();
                $newArticle->update();

                $this->header("index.php?action=article/edit&id=$id");
            } 
            elseif ($_POST['cancel'] == 'Назад') {
//                \DebugPrinter::debug("Отмена операции");
                $this->header("index.php?action=article/index&id=$id");
            }
        }
        else {
            $Article = new Article();
            $this->viewArticle = $Article->getById($id);
            $this->editArticleTitle = "Редактирование статьи";
            
            $this->view->addVar('viewArticle', $this->viewArticle);
            $this->view->addVar('editArticleTitle', $this->editArticleTitle);
            
            $this->view->render('article/editAdmin.php');   
        }
        
    }

Условие

if (!empty($_POST)) 

в обработчике никогда не выполняется, хотя форма должна передавать данные POST-ом.
В чём ошибка?

vedro-compota's picture

у вас там редирет -- данные предаются нормально, просто вы не видите ответ.

_____________
матфак вгу и остальная классика =)

melisa's picture

спасибо

melisa's picture

Форма не передавала id статьи, которую надо редактировать.
Решено добавлением скрытого поля:

<input type="hidden" name="id" value="<?= $_GET['id']; ?>">