как вид и мой контроллер "соединяются" - PullRequest
0 голосов
/ 29 января 2019

Я слежу за учебником MVC, но я не понимаю, как и почему мой код не работает.

Итак, у меня есть такой контроллер.

public function indexAction()
{
    $formSent = false;

    if (isset($_POST['send'])){
        $formSent = true;
    }

    $this->view->setVars([
        'name' => 'Stefan',
        'formSent' => $formSent
    ]);
}

и моя форма, котораянаходится в views / index

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Forumlar</title>
</head>

<body>
 <form method="post" action="/index">
    <table>
        <tr>
            <td>Vorname</td>
            <td><input type="text" name="vorname"></td>
        </tr>
        <tr>
            <td>Nachname</td>
            <td><input type="text" name="nachname"></td>
        </tr>
        <tr>
            <td>PLZ</td>
            <td><input type="number" name="plz"></td>
        </tr>
    </table>
    <button type="submit" name="send">Send</button>
 </form>
</body>

<?php
echo  $name;

if ($formSent){
    echo "Form is Sent!";
}
?>

Чтобы сделать мой вопрос более простым для понимания и где моя проблема.

Таким образом, повторяя $ name, выводит ли в этом случае "Stefan".Хотя все, что делается с формой, не работает.

Например, дамп _POST будет пустым, а оператор my if formSent не работает.

Так как же я "соединяю" эти дваили как это работает?

Спасибо.

РЕДАКТИРОВАТЬ: Вот, что он говорит после того, как я отправляю форму

Объект не найден!Запрашиваемый URL не найден на этом сервере.Ссылка на ссылающейся странице кажется неправильной или устаревшей.Пожалуйста, сообщите автору этой страницы об ошибке.

Если вы считаете, что это ошибка сервера, обратитесь к веб-мастеру.

Ошибка 404

РЕДАКТИРОВАТЬ 2:

Да, я делаю это в моем IndexController

protected $view;

public function setView(\Mvc\Library\View $view)
{
    $this->view = $view;
}

1 Ответ

0 голосов
/ 29 января 2019

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

в контроллере,

индекс общедоступной функции () {

$this->load->view('YOUR PAGE NAME IN VIEW FOLDER');

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...