Quantcast
Channel: Yii Framework Forum
Viewing all articles
Browse latest Browse all 18717

Contact Captcha Não Funcionando

$
0
0
Boa tarde a todos , o captcha do meu form de contacto nao esta a mostrar a imagem , mas eu tenho outra aplicações criadas e esta a mostrar corretamente a imagem , fica aqui todo o codigo que esta relacionado com este captcha e formulario , alguma dica ? obrigado

ContactForm.php
<?php

/**
 * ContactForm class.
 * ContactForm is the data structure for keeping
 * contact form data. It is used by the 'contact' action of 'SiteController'.
 */
class ContactForm extends CFormModel
{
	public $name;
	public $email;
	public $subject;
	public $body;
	public $verifyCode;

	/**
	 * Declares the validation rules.
	 */
	public function rules()
	{
		return array(
			// name, email, subject and body are required
			array('name, email, subject, body', 'required'),
			// email has to be a valid email address
			array('email', 'email'),
			// verifyCode needs to be entered correctly
			array('verifyCode', 'captcha', 'allowEmpty'=>!CCaptcha::checkRequirements()),
		);
	}

	/**
	 * Declares customized attribute labels.
	 * If not declared here, an attribute would have a label that is
	 * the same as its name with the first letter in upper case.
	 */
	public function attributeLabels()
	{
		return array(
			'verifyCode'=>'Verification Code',
		);
	}
}

site controller
public function actions()
	{
		return array(
			// captcha action renders the CAPTCHA image displayed on the contact page
			'captcha'=>array(
				'class'=>'CCaptchaAction',
				'backColor'=>0xFFFFFF,
			),
			// page action renders "static" pages stored under 'protected/views/site/pages'
			// They can be accessed via: index.php?r=site/page&view=FileName
			'page'=>array(
				'class'=>'CViewAction',
			),
		);
	}

public function actionContact()
	{
		$model=new ContactForm;
		if(isset($_POST['ContactForm']))
		{
			$model->attributes=$_POST['ContactForm'];
			if($model->validate())
			{
				$name='=?UTF-8?B?'.base64_encode($model->name).'?=';
				$subject='=?UTF-8?B?'.base64_encode($model->subject).'?=';
				$headers="From: $name <{$model->email}>\r\n".
					"Reply-To: {$model->email}\r\n".
					"MIME-Version: 1.0\r\n".
					"Content-type: text/plain; charset=UTF-8";

				mail(Yii::app()->params['adminEmail'],$subject,$model->body,$headers);
				Yii::app()->user->setFlash('contact','Thank you for contacting us. We will respond to you as soon as possible.');
				$this->refresh();
			}
		}
		$this->render('contact',array('model'=>$model));
	}


view file
<?php
/* @var $this SiteController */
/* @var $model ContactForm */
/* @var $form CActiveForm */

$this->pageTitle=Yii::app()->name . ' - Contactos';
$this->breadcrumbs=array(
	'Contactos',
);
?>

<h1>Contacte-nos:</h1>
<div id="contactos">

<?php if(Yii::app()->user->hasFlash('contact')): ?>

<div class="flash-success">
	<?php echo Yii::app()->user->getFlash('contact'); ?>
</div>

<?php else: ?>

<p>
Se tem alguma pergunta a fazer, porfavor preencha o seguinte formulário ou contacte-nos atraves dos contactos abaixo indicados. Obrigado.
</p>

<div class="form">

<?php $form=$this->beginWidget('CActiveForm', array(
	'id'=>'contact-form',
	'enableClientValidation'=>true,
	'clientOptions'=>array(
		'validateOnSubmit'=>true,
	),
)); ?>

	<p class="note">Campos com <span class="required">*</span> são obrigatórios.</p>

	<?php echo $form->errorSummary($model); ?>

	<div class="row">
		<?php echo $form->labelEx($model,'name'); ?>
		<?php echo $form->textField($model,'name'); ?>
		<?php echo $form->error($model,'name'); ?>
	</div>

	<div class="row">
		<?php echo $form->labelEx($model,'email'); ?>
		<?php echo $form->textField($model,'email'); ?>
		<?php echo $form->error($model,'email'); ?>
	</div>

	<div class="row">
		<?php echo $form->labelEx($model,'subject'); ?>
		<?php echo $form->textField($model,'subject',array('size'=>60,'maxlength'=>128)); ?>
		<?php echo $form->error($model,'subject'); ?>
	</div>

	<div class="row">
		<?php echo $form->labelEx($model,'body'); ?>
		<?php echo $form->textArea($model,'body',array('rows'=>6, 'cols'=>50)); ?>
		<?php echo $form->error($model,'body'); ?>
	</div>

	<?php if(CCaptcha::checkRequirements()): ?>
	<div class="row">
		<?php echo $form->labelEx($model,'verifyCode'); ?>
		<div>
		<?php $this->widget('CCaptcha'); ?>
		<?php echo $form->textField($model,'verifyCode'); ?>
		</div>
		<div class="hint">Please enter the letters as they are shown in the image above.
		<br/>Letters are not case-sensitive.</div>
		<?php echo $form->error($model,'verifyCode'); ?>
	</div>
	<?php endif; ?>

	<div class="row buttons">
		<?php echo CHtml::submitButton('Submit'); ?>
	</div>

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

</div>&lt!-- form -->

<?php endif; ?>

 <table>
<?php 

	require('protected/extensions/classes/sql.classe.php');
	$query=new sql;
	$sql="SELECT * FROM tipo_contacto ";
	$consulta_tipo_contacto=$query->do_sql($sql);
	while($linha_tipo_contacto=mysql_fetch_array($consulta_tipo_contacto)){
		list($n_tipo_contacto,$tipo_contacto)=$linha_tipo_contacto;
		echo "<td>".$tipo_contacto.":</td></tr>";
		
		$sql="SELECT * FROM contacto_videomax WHERE n_tipo_contacto like '".$n_tipo_contacto."' ";
		$consulta_contacto=$query->do_sql($sql);
		
		while($linha_contacto=mysql_fetch_array($consulta_contacto)){
			list($n_contacto_videomax,$n_tipo_contacto,$contacto_videomax,$n_categoria_contacto)=$linha_contacto;
			
			
			$sql="SELECT * FROM categoria_contacto WHERE n_categoria_contacto like '".$n_categoria_contacto."' ";
	$consulta_categoria_contacto=$query->do_sql($sql);
	
	while($linha_categoria_contacto=mysql_fetch_array($consulta_categoria_contacto)){
		list($n_categoria_contacto,$categoria_contacto)=$linha_categoria_contacto;
		echo "<tr><td>".$categoria_contacto.":</td>" ;
		}
		echo "<td>".$contacto_videomax."</td></tr>";	
	}
	
	}
		
?>
</table>
</div>

obrigado

Viewing all articles
Browse latest Browse all 18717

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>