Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][ZF]Problem z formularzem
sweter
post
Post #1





Grupa: Zarejestrowani
Postów: 623
Pomógł: 11
Dołączył: 1.01.2009
Skąd: Wrocław

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


Witam,
mam takki formularz jak poniżej:
  1. public function init(){
  2. $this->addElement('file', 'uploadFile', array(
  3. 'destination' => '../public/images/tmp_user/1/first/',
  4. 'validators' => array(
  5. array('count', false, 1),
  6. array('size', false, 1024000)
  7. ),
  8. 'label' => 'Wyślij plik:'
  9. ));
  10.  
  11. $this->addElement('submit', 'submit', array(
  12. 'label' => 'Wyślij'
  13. ));
  14.  
  15. $this->setEnctype('multipart/form-data');
  16. $this->setAttrib('id', 'formularz');
  17. $this->setAction('/action/addphoto/?upload=1');
  18. }

a tak wygląda walidacja:
  1. // $uploadForm to obiekt formularza
  2. if ($this->_request->isPost()) {
  3. if (!$uploadForm->isValid($this->_request->getPost())) { // Próba walidacji formularza
  4. // sformatowanie komunikatu tak aby zawierał informacje o błędach
  5. $messages = implode('<br />', $uploadForm->uploadFile->getMessages());
  6. $information = 'Błąd podczas sprawdzania poprawności formularza. <br />'
  7. . '<em>'.$messages.'</em>gg';
  8. $tab['stan'] = 0;
  9. } elseif (!$uploadForm->uploadFile->isUploaded()) { // Czy cokolwiek zostało wysłane?
  10. $information = 'Nie wybrano pliku do wysłania.';
  11. $tab['stan'] = 0;
  12. } elseif (!$uploadForm->uploadFile->receive()) { // Odbiór pliku
  13. $information = 'Błąd podczas odbierania pliku.';
  14. $tab['stan'] = 0;
  15. } else { // Sukces
  16. $information = 'Plik ' . $uploadForm->uploadFile->getFileName()
  17. . ' został poprawnie wysłany.';
  18. $tab['stan'] = 1;
  19. }
  20. echo $information;
  21. }

Proszę, sprawdźcie ten kod, bo cały czas zwraca mi "Błąd podczas sprawdzania poprawności formularza" (IMG:style_emoticons/default/sad.gif)
Spójrzcie na to świeższym okiem, bo ja już tracę cierpliwość.
Z góry dziękuję (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Nie wiem czy cokolwiek wniosę do tematu, ale przyznam szczerze, że akurat do przesyłania plików Zend_Form jest w moim odczuciu dość kulawy, zwłaszcza w obsłudze statusu wysyłki (jakoś nie zawsze to poprawnie działało u mnie).
Nigdzie nie widzę wywołania metody receive() która służy do odebrania wysłanego pliku i przeniesienia do pożądanej lokalizacji, zresztą jest manual
// edit
zajrzyj do linka, którego podałem, są jeszcze następujące użyteczne metody:
setDestination
isUploaded
isReceived

Czyli kolejność powinna być taka:
(...)
setDestination(/sciezka_docelowa/) // to jeszcze w formularzu
(...)
dalej już sprawdzamy:
$form->isUploaded();
(...)
$form->receive();


Ten post edytował darko 9.02.2011, 02:28:10
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 11.10.2025 - 07:10