jennygii  
          
              
                January 26, 2014,  4:16am
               
              1 
           
         
        
          I would like my “login page” to be on my navbar. What I did was just copy what’s inside the actionLogin to actionIndex like so
	public function actionIndex()
	{
		$model=new LoginForm;
		// if it is ajax validation request
		if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
		{
			echo CActiveForm::validate($model);
			Yii::app()->end();
		}
		// collect user input data
		if(isset($_POST['LoginForm']))
		{
			$model->attributes=$_POST['LoginForm'];
			// validate user input and redirect to the previous page if valid
			if($model->validate() && $model->login())
				$this->redirect(Yii::app()->createUrl('myprofile/index'));
		}
		$this->render('index');
	}
And my widget
<?php
    class LoginWidget extends CWidget
    {
        public function run() {
            $this->render('login-widget', array('model'=>new LoginForm()));
        }
    }
?>
The view
<?php         
    $form=$this->beginWidget('CActiveForm', array(
        'id'=>'login-form',
        'action'=>Yii::app()->createUrl('site/login'),
        'method'=>'POST',
        'enableAjaxValidation'=>true,
        'enableClientValidation'=>true,
        'clientOptions'=>array(
            'validateOnSubmit'=>true,
            )
        ));
    echo $form->errorSummary($model);
?>
    <div class="form-group">
        <?php echo $form->textField($model,'username',array('placeholder'=>'Employee Code','class'=>'form-control')); ?>
        <?php echo $form->error($model,'username'); ?>
    </div>
    <div class="form-group">
        <?php echo $form->passwordField($model,'password',array('placeholder'=>'Password','class'=>'form-control')); ?>
        <?php echo $form->error($model,'password'); ?>
    </div>
    <div class="form-group">
        <?php echo CHtml::submitButton('Sign in', array('class'=>'btn btn-success')); ?>
    </div>
<?php $this->endWidget(); ?>
But when I try to login, nothing happens. It just shows up on the browser what I just typed (which should not happen). I can only login thru site/login. You can try it at oamsystem2.cloudcontrolled.com 
         
        
           
         
            
       
      
        
          
          
            ahmed201  
          
              
                January 26, 2014,  6:16am
               
              2 
           
         
        
          first try to debug what is received via POST array using
print_r($_POST['LoginForm']);
and if you get your username and password correctly then proceed
         
        
           
         
            
       
      
        
          
          
            ahmed201  
          
              
                January 26, 2014,  6:19am
               
              3 
           
         
        
          
I would like my “login page” to be on my navbar. What I did was just copy what’s inside the actionLogin to actionIndex like so
	public function actionIndex()
	{
		$model=new LoginForm;
		// if it is ajax validation request
		if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
		{
			echo CActiveForm::validate($model);
			Yii::app()->end();
		}
		// collect user input data
		if(isset($_POST['LoginForm']))
		{
			$model->attributes=$_POST['LoginForm'];
			// validate user input and redirect to the previous page if valid
			if($model->validate() && $model->login())
				$this->redirect(Yii::app()->createUrl('myprofile/index'));
		}
		$this->render('index');
	}
And my widget
<?php
    class LoginWidget extends CWidget
    {
        public function run() {
            $this->render('login-widget', array('model'=>new LoginForm()));
        }
    }
?>
The view
<?php         
    $form=$this->beginWidget('CActiveForm', array(
        'id'=>'login-form',
        'action'=>Yii::app()->createUrl('site/login'),
        'method'=>'POST',
        'enableAjaxValidation'=>true,
        'enableClientValidation'=>true,
        'clientOptions'=>array(
            'validateOnSubmit'=>true,
            )
        ));
    echo $form->errorSummary($model);
?>
    <div class="form-group">
        <?php echo $form->textField($model,'username',array('placeholder'=>'Employee Code','class'=>'form-control')); ?>
        <?php echo $form->error($model,'username'); ?>
    </div>
    <div class="form-group">
        <?php echo $form->passwordField($model,'password',array('placeholder'=>'Password','class'=>'form-control')); ?>
        <?php echo $form->error($model,'password'); ?>
    </div>
    <div class="form-group">
        <?php echo CHtml::submitButton('Sign in', array('class'=>'btn btn-success')); ?>
    </div>
<?php $this->endWidget(); ?>
But when I try to login, nothing happens. It just shows up on the browser what I just typed (which should not happen). I can only login thru site/login. You can try it at oamsystem2.cloudcontrolled.com 
 
 
as i read source from the website you provided and in the form tag method not specified it might be the problem
         
        
           
         
            
       
      
        
          
          
            jennygii  
          
              
                January 26, 2014, 12:38pm
               
              4 
           
         
        
          
I’m not sure what tag method you’re referring to. What do you suggest I do?
         
        
           
         
            
       
      
        
          
          
            jennygii  
          
              
                January 26, 2014, 12:53pm
               
              5 
           
         
        
          
first try to debug what is received via POST array using
print_r($_POST['LoginForm']);
and if you get your username and password correctly then proceed
 
 
I’m afraid I’m not getting anything at all. What am I doing wrong?
         
        
           
         
            
       
      
        
          
          
            ahmed201  
          
              
                January 26, 2014,  3:36pm
               
              6 
           
         
        
          
in your navbar the form you rendered does not have the action example in <form> tag method is missing. so use like this
    $form=$this->beginWidget('CActiveForm', array(
        'id'=>'login-form',
        'action'=>Yii::app()->createUrl('site/login'),
        'enableAjaxValidation'=>true,
        'enableClientValidation'=>true,
        'clientOptions'=>array(
            'validateOnSubmit'=>true,
            )
        ));
Note: 
[list=1]
[*]no need to specify action when you want to submit the form to the current action
[*]no need to specify method because it defaults to post
[/list]
you can read more about active form here