Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Symfony - wysyłanie formularza
Forum PHP.pl > Forum > PHP
dtulacz
Witam;
Jestem dopiero początkujący z zakresu programowania w Symfony i niestety nie mogę sobie poradzić z moim formularzem. Zamiast zapisywać go do bazy jako dodatkowy rekord, to po prostu ciągle występuję update rekordu pierwszego w tabeli "kontakt". Mój formularz:

Kod
<?php slot('tresc'); ?>
<?php
if ($sf_params->get('send')) {
echo '<div style="color:green; font-weight:bold; border:2px solid green">Wiadomość została poprawnie wysłana. Odpowiedź na zgłoszenie zostanie udzielona w przeciągu 24 h. Dziękujemy!</div>';
}
?>

<p>W celu wysłania wiadomości, prosimy o wypełnienie formularza.</p>

  <?php echo form_tag('formularz/zapiszFormularz'); ?>
        <p>
          <?php

              echo label_for('e_mail','E-mail: '),'<br />';
                echo input_tag('e_mail','','style="width:200px"'),'<br />';
                echo label_for('telefon','Nr telefonu: *'),'<br />';
                echo input_tag('telefon','','style="width:200px"'),'<br />';
                echo label_for('temat','Temat: '),'<br />';
                echo input_tag('temat','','style="width:200px"'),'<br /><br />';
                echo label_for('tresc','Treść: *'),'<br />';
                echo textarea_tag('tresc','','size="62x10"'),'<br />';


          
            ?>
<span style="color:brown">* pola wymagane</span>
                </p>
                <p>
          <?php
        echo submit_tag('Zapisz');
            ?>
        </p>
        </form>
<?php end_slot(); ?>


A tutaj zamieszczam kod obsługujący zdarzenie:

Kod
class formularzActions extends sfActions
{

  public function executeIndex()
  {
        
  }
    
    public function executeZapiszFormularz() {
      $oRequest = $this->getRequest();
        $oKontakt = KontaktPeer::doSelectOne( new Criteria());
        $oKontakt->setEmail($oRequest->getParameter('e_mail'));
        $oKontakt->setTelefon($oRequest->getParameter('telefon'));
        $oKontakt->setTemat($oRequest->getParameter('temat'));
        $oKontakt->setTresc($oRequest->getParameter('tresc'));
        $oKontakt->setData(date("Y-m-d H:i"));
        
        $oKontakt->save();
        $this->redirect('formularz?send=1');
    
    }

}


Czy wie ktoś, co robię źle?
P.S. Jak można prosto wysłać dane z tego formularza na e-mail? używam do tego zwykłej funkcji np. z PHP 4 ?

Z góry dziękuję za pomoc.
samuraj85
Proponuję zapoznać się z tym: http://www.symfony-project.org/jobeet/1_4/Doctrine/en/ smile.gif
Crozin
1) Do wyświetlania informacji typu "dziękujemy za wysłanie formularza" służą tzw. flashe http://www.symfony-project.org/api/1_4/sfU...method_setflash
2) Formularze wyświetlaj korzystając bezpośrednio z obiektu formularza http://www.symfony-project.org/gentle-intr...splaying_a_form
3) Masz jakiś bajzel w HTMLu
4) KontaktPeer::doSelectOne chyba dosyć jasno określa to "pobierz", a nie "utwórz nowy"
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.