Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony] Problem z wypisywaniem csrf_token
filip11
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 9.03.2010

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


Witam,

renderuje pola formularza stworzonego z modelu pole po polu pętlą for no i o ile samo pole csrf jest renderowane ukryte o tyle nazwa pola nie jest ukryta i ją wyświetla, jak sobie z tym radzicie?

Używam symfony 1.4 z Doctrine

Dzięki za sugestie
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
mat-bi
post
Post #2





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

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


Aż specjalnie zajrzalem do kodu mojej aplikacji w Symfony i widzę tylko, zę trzeba zrobić
  1. echo $form;


I nic więcej...

Ten post edytował mat-bi 3.03.2011, 18:02:59
Go to the top of the page
+Quote Post
filip11
post
Post #3





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 9.03.2010

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


No tak, ale to nie spowoduje tego, że będę mógł wyświetlić formularz w tabeli chyba? A jak będę chciał wyświetlić go w liście? itp.?
Go to the top of the page
+Quote Post
mat-bi
post
Post #4





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

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


Dziwne, użyłem zwykłego

echo $form['_csrf_token'];

i pomimo moich usilnych starań jest to pole ukryte...
Go to the top of the page
+Quote Post
arecki
post
Post #5





Grupa: Zarejestrowani
Postów: 222
Pomógł: 35
Dołączył: 6.02.2005

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


Cytat(filip11 @ 3.03.2011, 17:54:02 ) *
Witam,
renderuje pola formularza stworzonego z modelu pole po polu pętlą for no i o ile samo pole csrf jest renderowane ukryte o tyle nazwa pola nie jest ukryta i ją wyświetla, jak sobie z tym radzicie?


Ja sobie radze tak (IMG:style_emoticons/default/smile.gif)
  1. <?php
  2. echo $form->renderFormTag(url_for('@akcja'), array('method' => 'post')).$form->renderHiddenFields();
  3. foreach($form as $fieldName => $field)
  4. {
  5. if(!$field->isHidden())
  6. {
  7. if($field->hasError())
  8. {
  9. echo 'blad pola '.$fieldName.' : '.$field->getError().'</br>';
  10. }
  11. echo $field->renderLabel().$field;
  12. }
  13. }
  14.  
  15. // moja własna funkcja do zamykania tagu <FORM>
  16. echo $form->renderFormTagEnd();
  17. ?>


Można to sobie ładnie opakować w html'a, stworzyć partiala i ładować do większości formularzy (IMG:style_emoticons/default/smile.gif) )
Go to the top of the page
+Quote Post
evertras
post
Post #6





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 2.03.2011

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


Najlepszą praktyką jest renderować formularz za pomocą
Kod
echo $form;

a stylowanie robić pod css odnosząc się do konkretnych id formularza.
Jednak czasem trafiają się formularze rozbudowane i lepiej byłoby renderować samemu poszczególne pola. W tym przypadku na samym początku najlepiej jest posłużyć się metodą
Kod
echo $form->renderHiddenFields()

która wygeneruje za nas ukryte pola. Jeżeli jednak z jakiejś przyczyny chcesz uniknąc tego sposobu to możesz skorzystać z
Kod
echo $form['_csrf_token']->render();

Jeżeli nie korzystasz z
Kod
$form->renderRow() lub $form->renderLabel()
to nie ma prawa ci wyświetlić labela.
Go to the top of the page
+Quote Post
destroyerr
post
Post #7





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

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


Cytat
Najlepszą praktyką jest renderować formularz za pomocą

Jakieś argumenty albo linki na potwierdzenie możesz podać?
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: 24.08.2025 - 20:38