Php 预览按钮显示数据库上的数据,而不仅仅是更新的数据

Php 预览按钮显示数据库上的数据,而不仅仅是更新的数据,php,symfony,twig,Php,Symfony,Twig,当用户单击“下一步”时,我会为每页划分一个表单。我会将数据保存到数据库中,直到第4页,当用户单击“验证”时,会将数据保存到第4页。 我在最后一页创建了一个按钮预览(预览4页中的所有数据) 当用户希望在最后一页上更新表单时,当他单击“预览”时,数据尚未保存。我如何显示刚刚输入但尚未保存的数据(即使我尝试在“预览”操作中保存数据,但存在相同的问题) 存在按钮预览时表单的第四页(太长): {{ form_start(form, {'attr':{'class': 'form-horizontal'}}

当用户单击“下一步”时,我会为每页划分一个表单。我会将数据保存到数据库中,直到第4页,当用户单击“验证”时,会将数据保存到第4页。 我在最后一页创建了一个按钮预览(预览4页中的所有数据)

当用户希望在最后一页上更新表单时,当他单击“预览”时,数据尚未保存。我如何显示刚刚输入但尚未保存的数据(即使我尝试在“预览”操作中保存数据,但存在相同的问题)

存在按钮预览时表单的第四页(太长):

{{ form_start(form, {'attr':{'class': 'form-horizontal'}}) }}

<div class="form-group row">
    <label for="autresDistinctions" class="col-xs-3 col-sm-3 col-md-3 col-lg-3  form-control-label">Persons</label>
    <div class="col-xs-9 col-sm-9 col-md-9 col-lg-9">
        {{ form_widget(form.persons, {'attr':{'class': 'form-control'}}) }}
    </div>
</div>

………..

<div class="form-group row">
    <div class="col-sm-offset-1 col-sm-11">

        <a href="{{ path('admin_Serv_ preview ') }}"><button type="button" class="btn btn-default">Preview</button></a>

        <button type="submit" class="btn btn-success" style="float: right">Validate</button>

    </div>
</div>
{{ form_end(form) }}
<div class="blog-header">
    <h1 class="blog-title">Preview </h1>
</div>
<div class="row">

div class="container fluid custom-locale-form">


    <div class="form-group row">
        <label for="nom" class="col-xs-3 col-sm-3 col-md-3 col-lg-3  form-control-label">Adrese</label>
        <div class="col-xs-9 col-sm-9 col-md-9 col-lg-9">
            <span style="display:inline-block; width:500px;padding:5px">{{ ser.form.adress }}</span>
        </div>
    </div>

    <div class="form-group row">
        <label for="nom" class="col-xs-3 col-sm-3 col-md-3 col-lg-3  form-control-label">Phone</label>
        <div class="col-xs-9 col-sm-9 col-md-9 col-lg-9">
            <span style="display:inline-block; width:300px;padding:5px">{{ ser.form.phone }}</span>
        </div>
    </div>

<div class="form-group row">
    <label for="nom" class="col-xs-3 col-sm-3 col-md-3 col-lg-3  form-control-label">F</label>
    <div class="col-xs-9 col-sm-9 col-md-9 col-lg-9">
        <span style="display:inline-block; width:300px;padding:5px">{{ ser.form.fax }}</span>
    </div>
</div>
<div class="form-group row">
    <label for="nom" class="col-xs-3 col-sm-3 col-md-3 col-lg-3  form-control-label">E-mail</label>
    <div class="col-xs-9 col-sm-9 col-md-9 col-lg-9">
        <span style="display:inline-block; width:300px;padding:5px">{{ ser.form.email }}</span>
    </div>
</div>

……………………………………

</div>
</div>
public function previewAction(Request $request)
{
    $ser = new Serv() :
    $forma = $ser->getFormulaire();
    $form = $this->createForm('StoreBundle\Form\FormPerType',$ forma);

    if(!$ser){
        return $this->redirectToRoute('Admin_ser_per');
    }

    $form ->handleRequest($request);


        $em = $this->getDoctrine()->getManager();
        $em->flush();




    return $this->render('AdminBundle:Serv:preview.html.twig', array(
        ‘ser’=> $ser,
        'form'   => $form->createView()

    ));
}
有两种方法:

  • 将数据存储在cookies中
  • 将数据存储在数据库的临时表中,当您单击预览按钮时,获取数据并填充预览

  • 将信息存储在会话中,并在用户重新访问页面时检索。一旦用户数据保存在数据库中,请删除会话数据。