[right]
سلام
میخوام فرم
login
همیشه به کابر نشان داده شود وقتی که وارد شد هم دیگه نمایش نده
برای اینکار یه فرم ورود با ویجت ساختم ولی برای بررسی صحت داده مشکل دارم
از خیر اجکسم گذشتیم
مشکل کجاست چرا عمل نمیکنه
?
[/right]
main.php برای صدا زدن که توی
$formlogin= new LoginForm;
$this->widget('LoginFormWidget', array( 'form' => $formlogin ));
class LoginFormWidget extends CWidget
{
public $form;
public function run()
{ if (! $this->form instanceof CFormModel) {
throw new RuntimeException('form available.');
}
$this->render('FormWidget', array('fform'=>$this->form));
}
}
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'login-form',
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
)); ?>
<?php echo $form->textField($fform,'username'); ?>
<?php echo $form->error($fform,'username'); ?>
<?php echo $form->passwordField($fform,'password'); ?>
<?php echo $form->error($fform,'password'); ?>
<?php echo CHtml::link('ورود' ,array('site/login'));
?>
<?php $this->endWidget(); ?>
</div><!-- form -->
public function actionLogin()
{
$model=new LoginForm;
if(isset($_POST['LoginForm']))
{
$model->attributes=$_POST['LoginForm'];
if($model->validate() && $model->login())
$this->redirect(Yii::app()->user->returnUrl);
}
else {
Yii::app()->user->setFlash('login','اطلاعات وارد شده نادرست میباشد لطفا دقت کنید');
$this->actionIndex ();
}
}