Очистить заполненные данные формы в Phalcon Framework - PullRequest
0 голосов
/ 29 мая 2018

Я новичок в phalcon и пытаюсь изучить этот фреймворк.Я создал простую форму.Теперь, когда я заполняю форму, я могу хранить данные в базе данных.После отправки формы я хочу быть на той же странице.Теперь проблема в том, что форма все еще содержит заполненные данные, которые она не очищает.Я гуглил и нашел метод clear () для очистки данных формы, но кажется, что он не работает.Что делать?

Вот мой код // Контроллер

use Phalcon\Mvc\Controller;
class ProfileController extends Controller
{
    public function indexAction()
    {

        // Add some local CSS resources
        $this->assets->addCss("css/styles.css");
        $this->assets->addCss("css/bootstrap.min.css");

        // And some local JavaScript resources
        $this->assets->addJs("js/jquery.js");
        $this->assets->addJs("js/bootstrap.min.js");

    }

    public function createAction(){

        //create object of model class
        $profile = new Tbl_profile();

        $profile->fname= $this->request->getPost('firstname');
        $profile->lname= $this->request->getPost('lastname');
        $profile->email= $this->request->getPost('email');
        $success=$profile->save();

        if($success) {
            $this->flash->success("Profile created!");
            //redirect to same page.

            $this->dispatcher->forward(['action' => 'index']);
        }else {

        }


    }
}

// views

<html>
<head>
    <title>Title</title>
    <?php $this->assets->outputCss(); ?>
</head>
<body>
        <h4 class="ml-5 mt-2"> Create Profile</h4>
        <?php echo $this->getContent(); ?>
        <?php echo $this->tag->form("profile/create") ?>
        <table class="table">
            <tbody>
                <tr scope="row">
                    <td>First Name</td>
                    <td><?php echo $this->tag->textField("firstname"); ?></td>
                </tr>
                <tr scope="row">
                    <td>Last Name</td>
                    <td><?php echo $this->tag->textField("lastname"); ?></td>
                </tr>
                <tr scope="row">
                    <td>Email</td>
                    <td><?php echo $this->tag->textField("email"); ?></td>
                </tr>
                <tr scope="row">
                    <td></td>
                    <td><?php echo  $this->tag->submitButton("Create");?></td>
                </tr>
            </tbody>

        </table>
</form>
</body>
</html>

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Вы должны создать класс формы, чтобы иметь возможность использовать метод $form->clear().

См. Документ https://docs.phalconphp.com/cs/3.4/forms

0 голосов
/ 03 июля 2018

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

$this->request->redirect('profile/index');

Прочтите это В чем разница между перенаправлением и отправкой в ​​phalcon? для получения дополнительной информации

...