Symfony формирует пост - PullRequest
       1

Symfony формирует пост

0 голосов
/ 29 ноября 2011

Я читал о формах Symfony, и у меня есть простой вопрос: я делаю 2 шаблона "test" и test1.Я хочу опубликовать значения формы test в test1, а затем показать их с помощью echo.В тесте я поставил:

form action="<?php echo url_for('maraton/test') ?>" method="POST" />
    <table> 
     <tr>
        <?php echo $form?>
     </tr>
      <tr>
        <td colspan="2">
          <input type="submit" value="submit" />
        </td>
      </tr>
     </table>
 </form>  

Мое действие:

public function executeTest(sfWebRequest $request)
  {
     $this->form = new AthletesForm();
  }

  public function executeTest1(sfWebRequest $request)
     {
        $this->form = new AthletesForm();

           if ($request->isMethod('post'))
             {
                $values = $this->form->getValues();
              }

1 Ответ

0 голосов
/ 29 ноября 2011

При создании формы вы создаете ее с помощью действия:

public function executeContact($request)
{
  $this->form = new sfForm();
}

Затем для отображения этой формы вы используете шаблон

<?php echo $form->renderFormTag('foo/contact') ?> // this route "foo/contact" points to the action that will process the submit
  <table>
    <?php echo $form ?>
    <tr>
      <td colspan="2">
        <input type="submit" />
      </td>
    </tr>
  </table>
</form>

Затем для обработки отправки формы вы используете либо то же действие, что и выше, либо отдельное действие:

if ($request->isMethod('post')) 
// this if statement would be added if you used the same action to 
// create / process the submit of the form 
{
  $this->form = new sfForm(); // create an empty form object
  $this->form->bind($request->getParameter('contact')); 
  // merges (binds) the post data with the form
  if ($this->form->isValid()) // if the data is valid
  {
    // Handle the form submission
    $contact = $this->form->getValues();
    $name = $contact['name'];

    // Or to get a specific value
    $name = $this->form->getValue('name');

    // Do stuff
    // persist to database / save to file etc
    $this->redirect('foo/bar');
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...