Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework]Przekazanie polskich liter z formularza do zmiennej w kontrolerze.
Forum PHP.pl > Forum > PHP > Frameworki
Keg
Niedawno zainteresowałem się Zendem. Tworząc pierwszy formularz rejestracyjny napotkałem jednak problem z przekazaniem zawartości pola formularza(nicku) zawierającego polskie litery do kontrolera. Wartość nicku trafia do zmiennej w kontrolerze jednak w niej zamiast polskich liter pojawiają się krzaczki co nie może mieć miejsca ponieważ jedna z pętli zlicza ilość polskich liter zapisanych w tabeli, a jest to potrzebne aby sprawdzić czy nick zawiera polskie litery.

Oto kawałek kodu z formularza


  1. $nick = $this->createElement('text', 'nick');
  2. $nick->setLabel('Nick:')
  3. ->setRequired(TRUE)
  4. ->setAttrib('size', 30)
  5. ->addFilters(array(
  6. new Zend_Filter_StringToLower(),
  7. new Zend_Filter_StringTrim(),
  8. new Zend_Filter_StripNewlines(),
  9. new Zend_Filter_StripTags()
  10. ))
  11. ->addValidators(array(
  12. new Zend_Validate_NotEmpty(),
  13. new Zend_Validate_StringLength(3, 12)
  14. ));

a to kawałek kodu z kontrolera który ma za zadanie odebranie wartości z formularza i zliczenie ilości liter które pojawiły się w tabeli:


  1. $nick = $form->getValue('nick');
  2. $polskie = array('ą','ć','ę','ł','ń','ó','ś','ź','ż');
  3. foreach($polskie as $litera){
  4. $test = substr_count($nick, $litera);
  5. $n= $n + $test;
  6. }
  7. echo $n;


Dodam jeszcze że zawsze gdy próbuje na tym zestawie liter w tabeli $polskie wpisać jakiś nick zawierające te litery zmienna $n zawsze zwraca 0, natomiast gdy spróbowałem z literami języka łacińskiego zmienna $n zwracała odpowiednią cyfrę.

Z góry dziękuje za wszelką pomoc oraz proszę o wyrozumiałość za niezauważenie moich błędów.
wookieb
Użyj tego
http://pl2.php.net/manual/en/function.mb-substr-count.php
Oczywiście pamiętaj o podaniu kodowania jeżeli zajdzie taka potrzeba.
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.