For some reason it seems the Zend_Captcha component is creating two images
instead of one because it is seeing two session ids. I dont know why this is
so or where the other is coming from

On running print_r($captcha->getSession(), only one session echoes out. So i
wonder where the second is coming from and i dont have any persistent
session active. 

I have found a solution to the validation - though i dont think it is ideal
but i need to get this working.

On generation of the captcha image i sent to the word to the view to a
hidden field. On form submisssion i simply check the entered text with that
of the generated captcha word from the hidden field for sameness. if same
then the user has entered the right text.




dele454 wrote:
> 
> Thanks for the code. Am not using Zend_Form for my forms. Am using plain
> html. I just didnt find it flexible enough for views such as floating
> three drop downs side by side and etc. It was taking too much of my time
> trying to make my view display as intended.
> 
> Thanks for the code anyway.
> 
> 
> 
> vRandom wrote:
>> 
>> 
>> I found this example code in one of the bug reports ...
>> (http://framework.zend.com/issues/browse/ZF-4045)
>> 
>> Works good enough to get an idea of how to put the captcha to use. (as
>> there
>> is limited documentation examples)
>> 
>> I didn't see one of these Zend_Form_Element_Captcha in your code, maybe
>> it
>> is what you need.
>> 
>> Slightly modified for quick test...
>> 
>> Try something like this : 
>> 
>>      // (fix pathing for your dev setup)
>>      // setup for captcha image
>> 
>>        $captchaImage = new Zend_Captcha_Image();
>>         $captchaImage->setFont(DATAPATH.'/VeraBd.ttf');
>>         $captchaImage->setFontSize(30);
>>         $captchaImage->setWordlen(6);
>>         $captchaImage->setImgDir(CAPTCHAPATH);
>>         $captchaImage->setImgUrl('/images/captcha/');
>>         $captchaImage->setWidth(175);
>>         $captchaImage->setHeight(75);
>>         $captchaImage->setName('captcha');
>> 
>>      // text box for user input
>>         $elementCaptcha = new Zend_Form_Element_Captcha(
>>             'captcha', array('captcha' => $captchaImage)
>>         );
>> 
>>      // make form
>>         $form = new Zend_Form(array(
>>             'action' => '/manage/',
>>             'method' => 'post',
>>         ));
>> 
>>      // add items to form
>>         $form->addElement($elementCaptcha, 'captcha')
>>             ->addElement('submit', 'process', array(
>>                 'required' => false,
>>                 'ignore'   => true,
>>                 'label'    => 'Process',
>>             ));
>> 
>>      // set image to view
>>         $this->view->captcha = $captchaImage;
>> 
>>      // check if form post
>>         $request = $this->getRequest();
>>         if (!$request->isPost()) {
>>              // if not show form
>>             $this->view->form = $form;      
>>         }
>> 
>>      // test form valid?
>>         if (!$form->isValid($request->getPost())) {
>>              // if not show form
>>             $this->view->form = $form;
>>         }
>> 
>>      
>>      // this was originally in the view script
>>      // but I didn't want to wack my existing so
>>      // modified it to work here
>> 
>>      // if we have form, show it - or form did validate
>>         if (isset($this->view->form)) {
>>              echo '<h2>Testing Captcha</h2>';
>>              echo $this->view->form;
>>          } else {
>>              echo '<h2>Captcha Form validated!</h2>';
>>          }
>> 
>>      // dump the capcha data
>>         if (isset($this->view->captcha)) {
>>              echo '<h4>Captcha word dump</h4>';
>>              echo '<pre>'.
>> var_dump($this->view->captcha->getWord()).'</pre>';
>>         } 
>> 
>> 
>> 
>> -----Original Message-----
>> From: dele454 [mailto:[EMAIL PROTECTED] 
>> Sent: Tuesday, November 04, 2008 5:19 AM
>> To: [email protected]
>> Subject: Re: [fw-general] Zend_Capcha
>> 
>> 
>> Any one out there with help? Please!!
>> 
>> dele454 wrote:
>>> 
>>> hi,
>>> 
>>> i am trying to verify the text submitted to match that of the captcha. 
>>> If
>>> valid(same) echo 'validated'.
>>> 
>>> class JoinController extends Zend_Controller_Action {
>>> 
>>>             public function indexAction(){
>>>             
>>>             $this->_helper->layout->setLayout('layout-site');
>>>             $view = new Zend_View();                
>>>             // Originating request:
>>>             $captcha = new Zend_Captcha_Image(array(
>>>                     'name' => 'foo',
>>>                     'height' => 100,
>>>                     'width' => 202,
>>>                     'wordLen'=> '6',
>>>                     'expiration' => '300',
>>>                     'font' =>
>>> 'C:/xampp/htdocs/xampp/mainevent/public_html/img/font/ravie.ttf',
>>>
>> 'imgDir'=>'C:/xampp/htdocs/xampp/mainevent/public_html/img/captcha',
>>>                     'imgUrl' => '../img/captcha',
>>>                     'fontSize' => '24',
>>>                     
>>>                     
>>>                     
>>>             ));
>>>             $id = $captcha->generate();
>>>             $this->view->showCaptcha = $captcha->render($view);
>>>             
>>>             
>>>             
>>>             if ($captcha->isValid($_POST['captcha'])) {
>>>                    echo "Validated!";
>>>               
>>>                  }
>>>              else{ echo "no";
>>>              print_r($captcha->getMessages());}
>>>             }       
>>>      
>>>             
>>> 
>>> }
>>> 
>>> When i submit the form it always echos 'no'!. Printing the error 
>>> message i get this
>>> 
>>> Array ( [missingValue] => Empty captcha value )
>>> 
>>> How can i sort this out. I am thinking the captcha will always have a 
>>> different value on post when compared to the text field. How can i 
>>> resolve this.
>>> 
>> 
>> 
>> -----
>> dee
>> --
>> View this message in context:
>> http://www.nabble.com/Zend_Capcha-tp20300142p20319514.html
>> Sent from the Zend Framework mailing list archive at Nabble.com.
>> 
>> 
>> 
>> 
> 
> 


-----
dee
-- 
View this message in context: 
http://www.nabble.com/Zend_Captcha-tp20300142p20349024.html
Sent from the Zend Framework mailing list archive at Nabble.com.

Reply via email to