Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZF][ZendFramework]uzycie zend_form
michaldaro
post
Post #1





Grupa: Zarejestrowani
Postów: 89
Pomógł: 0
Dołączył: 19.11.2009

Ostrzeżenie: (10%)
X----


cz ktos mógłby mi przyslac caly krotki projekt w ktorym by wykorzytal zend_form? tylko interesuje mnie wykorzytanie zend form i ewentualnie jak ktos jeszcze by mnial to jakies przykladowy bardzo krotki projekt z uzyciem dekoratorow. najlepiej w postac rar i tak zeby mozna bylo go rozpakowac na serwerze i zebym mogl zobac zend_form jak działa. Proszę ze wzgledu na to ze to co jest w internecie to mi nie działa. Miedzy innymi ten artykuł:
http://www.karolnowicki.pl/zend-framework/...-zend_form-cz3/
http://www.karolnowicki.pl/zend-framework/...omia-zend_form/
prosze o pomoc i wyslanie mi rar na adres michaldaro@gmail.com
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
cykcykacz
post
Post #2





Grupa: Zarejestrowani
Postów: 550
Pomógł: 9
Dołączył: 29.05.2009
Skąd: Ostrów Wielkopolski

Ostrzeżenie: (0%)
-----


Kod formularza:
Kod
<?php
class ContactForm extends Zend_Form
{
    public function __construct($options = null)
    {
        parent::__construct($options);
        $this->setName('contact_us');

        $firstName = new Zend_Form_Element_Text('imie');
        $firstName->setLabel('Imię')
                  ->setRequired(true)
                  ->addValidators(array(
                                array('NotEmpty', true, array('messages' => array(
                                      'isEmpty' => 'Proszę podać Imię.',
                                )))    
                                 ));

      
          
        $Subject = new Zend_Form_Element_Text('subject');
        $Subject  ->setLabel('Temat')
                  ->setRequired(true)
                  ->addValidators(array(
                                array('NotEmpty', true, array('messages' => array(
                                      'isEmpty' => 'Proszę podać Temat.',
                                )))    
                                 ));

      

        $telefon = new Zend_Form_Element_Text('telefon');
        $telefon->setLabel('Telefon')
                 ->setRequired(true)
                 ->addValidators(array(
                                array('NotEmpty', true, array('messages' => array(
                                      'isEmpty' => 'Proszę podać Telefon.',
                                )))    
                                 ));

        $email = new Zend_Form_Element_Text('email');
        $email->setLabel('Email')
              ->addFilter('StringToLower')
              ->setRequired(true)
              ->addValidators(array(
                                array('NotEmpty', true, array('messages' => array(
                                      'isEmpty' => 'Proszę podać Email.',
                                )))    
                                 ))
              ->addValidator('EmailAddress');

        

        $wiadomosc = new Zend_Form_Element_Textarea('wiadomosc');
        $wiadomosc->setLabel('Wiadomość')
                  ->setRequired(true)
                  ->addFilter('StripTags')
                   ->setAttrib("rows", 10)
                  ->setAttrib("cols", 30)
                  ->addValidators(array(
                                array('NotEmpty', true, array('messages' => array(
                                      'isEmpty' => 'Proszę podać Wiadomość.',
                                )))    
                                 ));

      

        
    
        
        
        $submit = new Zend_Form_Element_Submit('submit');
        $submit->setLabel('Wyślij');

        $this->addElements(array( $firstName, $Subject, $email, $telefon, $wiadomosc,/* $captcha,*/ $submit));

        $this->setMethod('post');
        $this->setAction(Zend_Controller_Front::getInstance()->getBaseUrl().'/contact');

    }
}

kod kontrollera:
Kod
<?php

class ContactController extends Zend_Controller_Action
{

    public function init()
    {
        /* Initialize action controller here */
    }

    public function indexAction()
    {
        $form = new ContactForm();
          if ($this->getRequest()->isPost()) { /* wywołuje się jeśli formularz został wysłany */
               if ($form->isValid($this->getRequest()->getPost())) { /* waliduje formularz */
                    $smtpServer = 'smtp.gmail.com';
                    $username = '';
                    $password = '';


                    $config = array('ssl' => 'tls',
                                   'auth' => 'login',
                               'username' => $username,
                               'password' => $password);

                    $transport = new Zend_Mail_Transport_Smtp($smtpServer, $config);
                    
                    $wiadomosc = $form->getValue('wiadomosc');

                    $mail = new Zend_Mail('utf-8');
                    $mail->setFrom('cykcykacz@o2.pl', $form->getValue('email'));
                    $mail->addTo('cykcykacz@o2.pl', 'Server');
                    $mail->setSubject($form->getValue('subject'));
                    $mail->setBodyText($form->getValue('wiadomosc'));
                    $mail->send($transport);
                    
               }
        }
        $this->view->form = $form;
    }
    
}

kod widok:
Kod
<?php echo $this->form;?>


Ten post edytował cykcykacz 9.07.2011, 18:44:50
Go to the top of the page
+Quote Post
michaldaro
post
Post #3





Grupa: Zarejestrowani
Postów: 89
Pomógł: 0
Dołączył: 19.11.2009

Ostrzeżenie: (10%)
X----


A gdzie trzeba ta klase wsadzić:
ContactForm
w strukturze projektu zrobionego ?
Go to the top of the page
+Quote Post
morbic
post
Post #4





Grupa: Zarejestrowani
Postów: 116
Pomógł: 29
Dołączył: 13.12.2010
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


<OT>
@cykcykacz, proponuję zmienić hasło do GMaila (IMG:style_emoticons/default/oneeyedsmiley02.png)
</OT>
Go to the top of the page
+Quote Post
cykcykacz
post
Post #5





Grupa: Zarejestrowani
Postów: 550
Pomógł: 9
Dołączył: 29.05.2009
Skąd: Ostrów Wielkopolski

Ostrzeżenie: (0%)
-----


morbic: morbic dzięki za przypomnienie zmieniłem hasło.

michaldaro: nie wiem jaką masz strukturę katalogów, również nie wiem jaki masz 'namespace' ustawiony więc mogę tylko strzelać.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 08:27