Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Kohana] Walidacja captcha
Max Damage
post
Post #1





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


Cześć, chciałem sobie dopisać captcha na stronie. Zrobiłem więc w widoku tak (kod niepełny):
  1. $captcha = new Captcha;
  2.  
  3. <span id="komentarz_captcha">
  4. <?php if(!$captcha->promoted()) {
  5. echo $captcha->render(); ?>
  6. </span>
  7. <p class="dane_kom_p"> <?php
  8. echo form::label('wpisz_captcha','Wpisz captcha:');
  9. echo form::input("captcha"); ?><br />
  10. </p>
  11. <?php } ?>

Formularz wysyłam do metody a w niej mam:
  1. $post=new Validation($_POST);
  2. $post->pre_filter('trim');
  3. $post->pre_filter('htmlspecialchars');
  4. $post->add_rules('captcha', 'required','Captcha::valid');

Co bym nie wpisał w pola captcha formularza jest zawsze źle. Patrzyłem nawet czy zmienna przekazywana do metody valid tej klasy ma tą samą wartość jak wpisana. W funkcji valid jest też linijka:
  1. $result = (bool) Captcha::instance()->driver->valid($response);

Jak po niej wpisze var_dump($result); wypisuje zawsze bool(false). Konfiguracja standardowa. Ma ktoś jakieś pomysły?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
k_@_m_i_l
post
Post #2





Grupa: Zarejestrowani
Postów: 349
Pomógł: 72
Dołączył: 22.01.2008
Skąd: Wadowice/Oświęcim

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


Do formularzy to wykorzystuję moduł Formo. Dodaje tam pole captcha i sie nie przejmuję już niczym (IMG:style_emoticons/default/smile.gif) Jedynie tylko tym, żeby sprawdzić czy cały formularz jest poprawnie zwalidowany.

Przykładowy kod formularza z captcha :
  1.  
  2. $form = Formo::factory()
  3. ->plugin('table')
  4. ->add('Title')->required(true)
  5. ->add('textarea','Text')->required(true)
  6. ->add('captcha','security')->label('Przepisz kod')
  7. ->add_submit('send')
  8. ->pre_filter('all','trim');


Żeby sprawdzić poprawność formularza to robisz :
  1.  
  2. if($form->validate())
  3. {
  4. // ok
  5. }
  6. else
  7. {
  8. // bad
  9. }


Jak nie będzie poprawnie pole captcha wypełnione to formularz będzie niepoprawnie wypełniony, czyli wykonają się instrukcje z else

Ten post edytował k_@_m_i_l 4.12.2009, 09:11:06
Go to the top of the page
+Quote Post

Posty w temacie


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: 28.12.2025 - 02:52