how to add captcha with AR ?

I am getting an error , it says

PHP Error

Description

Object of class CCaptcha could not be converted to string

…if that’s the case, how will I add a captcha in my register form if am using AR

and CActiveForm widget ?





<?php

$this->breadcrumbs=array(

	'Wsmembers'=>array('index'),

	'Register',

);


?>


<h1>Registration</h1>

<div class="form">

<?php $form=$this->beginWidget('CActiveForm', array(

	'id'=>'register-form',

	'enableAjaxValidation'=>true,

)); ?>


<?php echo CHtml::errorSummary($model); ?>

<div class="row">

		<?php echo $form->labelEx($model,'WSEmailAddress'); ?>

		<?php echo $form->textField($model,'WSEmailAddress'); ?>

		<?php echo $form->error($model,'WSEmailAddress'); ?>

</div>


<div class="row">

		<?php echo $form->labelEx($model,'WSLoginName'); ?>

		<?php echo $form->textField($model,'WSLoginName'); ?>

		<?php echo $form->error($model,'WSLoginName'); ?>

</div>


<div class="row">

		<?php echo $form->labelEx($model,'WSLoginPassword'); ?>

		<?php echo $form->textField($model,'WSLoginPassword'); ?>

		<?php echo $form->error($model,'WSLoginPassword'); ?>

</div>


<div class="row">

		<?php echo $form->labelEx($model,'Retype Password'); ?>

		<?php echo $form->textField($model,'password2'); ?>

		<?php echo $form->error($model,'password2'); ?>

</div>


<div class="row">

		<?php echo $form->labelEx($model,'WSMembershipContactName'); ?>

		<?php echo $form->textField($model,'WSMembershipContactName'); ?>

		<?php echo $form->error($model,'WSMembershipContactName'); ?>

</div>


<div class="row">

		<?php echo $form->labelEx($model,'WSMembershipSecretQuestion'); ?>

		<?php echo $form->textArea($model,'WSMembershipSecretQuestion', array('cols'=>30,'rows'=>2)); ?>

		<?php echo $form->error($model,'WSMembershipSecretQuestion'); ?>

</div>


<div class="row">

		<?php echo $form->labelEx($model,'WSMembershipSecretAnswer'); ?>

		<?php echo $form->textArea($model,'WSMembershipSecretAnswer', array('cols'=>30,'rows'=>2)); ?>

		<?php echo $form->error($model,'WSMembershipSecretAnswer'); ?>

</div>


<div class="row">

		<?php echo $form->labelEx($model,'WSMembershipSecretAnswer'); ?>

		<?php echo $form->textArea($model,'WSMembershipSecretAnswer', array('cols'=>30,'rows'=>2)); ?>

		<?php echo $form->error($model,'WSMembershipSecretAnswer'); ?>

</div>


<?php if(extension_loaded('gd')):?>

<div class="row">	

		<?php echo $form->labelEx($model,'verifyCode',array('style' => 'width:150px;')); ?>

		<?php echo $this->widget('CCaptcha'); ?>

		<?php echo $form->textField($model,'verifyCode'); ?>

		<p class="hint">

			Please enter the letters as they are shown above.

		</p>

</div>	

<?php endif; ?>


<div class="row submit">

	<?php echo CHtml::submitButton('Register'); ?>

</div>

<?php $this->endWidget(); ?>

</div><!-- form -->



I removed the echo from the captcha widget, it worked but

now, there’s a new problem the jumbled words of captcha itself doesn’t show up

my gd2 extension is loaded

Check that the FreeType extension in GD is enabled… it’s used to display that word…

the GD is enabled, the captcha of the yii’s default contact page and user module registration form does work…

but in my own code it doesn’t show the captcha image :(

problem solved,

I missed this part at my controller …arghh




	public function actions()

	{

		return array(

			'captcha'=>array(

				'backColor'=>0xFFFFFF,

				'class' => 'CCaptchaAction'

			)			

		);

	}