7008
Am developing an application. I have three buttons in my login page.
-
To allow user to login with username and password
-
To render another view(manager)
-
To render another view(inspector)
The problem is that all the three submit buttons are performing the same function of login in. why?
Please help me
[b]
CONTROL Action[/b]
public function actionLogin()
{
if(isset($_POST['manager-button']))
{
return $this->redirect('manager');
}
if(isset($_POST['inspector-button']))
{
return $this->redirect('manager');
}
if (!\Yii::$app->user->isGuest) {
return $this->goHome();
}
$model = new LoginForm();
$login = new \app\models\LoginDetails();
if ($model->load(Yii::$app->request->post())) {
$log = \app\models\User::find()->where(['user_login_id' => $_POST['LoginForm']['username'], 'is_block' => 0])->one();
if(empty($log)) {
\Yii::$app->session->setFlash('loginError', '<i class="fa fa-warning"></i><b> Incorrect username or password. !</b>');
return $this->render('login', ['model' => $model]);
}
$login->login_user_id = $log['user_id'];
$loginuser = $login->login_user_id;
$emplogin = Inspector::find()->andWhere(['contractor_user_id'=>$loginuser])->one();
$studlogin = BuildingManager::find()->andWhere(['manager_user_id'=>$loginuser])->one();
if($studlogin)
{
\Yii::$app->session->set('manager_id',$studlogin->manager_id);
}
else if($emplogin)
{
\Yii::$app->session->set('contractor_id',$emplogin->company_id);
}
else if(!$emplogin && !$studlogin)
{
\Yii::$app->session->set('admin_user',$loginuser);
}
else {
\Yii::$app->session->setFlash('loginError', '<i class="fa fa-warning"></i><b> These Login credentials are Blocked/Deactive by Admin</b>');
return $this->render('login', ['model' => $model,]);
}
$login->login_status = 1;
$login->login_at = new \yii\db\Expression('NOW()');
$login->user_ip_address=$_SERVER['REMOTE_ADDR'];
$login->save(false);
///*
if($model->login()) {
// if(!isset(Yii::$app->request->cookies['language'])) {
// return $this->redirect(['language']);
// } else
return $this->goBack();
}
else
return $this->render('login', ['model' => $model,]);
// */
}
else {
return $this->render('login', [
'model' => $model,
]);
}
}
VIEW
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
$this->title = Yii::t(‘app’, ‘ESS | Login’);
?>
<div class="login-box">
<div class="login-logo">
&nbsp;
</div><!-- /.login-logo -->
<div class="login-box-body login-header">
<h1>USER LOGIN</h1>
</div>
<div class="login-box-body">
<p class="login-box-msg"><?php echo Yii::t('app', 'Please fill out the following fields to login') ?></p>
<?php $form = ActiveForm::begin([‘id’ => ‘login-form’,
'options' => ['enctype' => 'multipart/form-data'],
//'enableAjaxValidation' => true,
'method'=>'post',
]); ?>
<div class="form-group has-feedback">
<?= $form->field($model, 'username')->textInput(['placeholder'=>Yii::t('app', 'Username'), 'class'=>'form-control'])->label(false) ?>
<span class="glyphicon glyphicon-user form-control-feedback"></span>
</div>
<div class="form-group has-feedback">
<?= $form->field($model, 'password')->passwordInput(['class'=>'form-control', 'placeholder'=>Yii::t('app', 'Password')])->label(false) ?>
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
</div>
<div class="row">
<div class="col-xs-7">
<div class="checkbox icheck">
<?= $form->field($model, 'rememberMe')->checkbox() ?>
</div>
</div><!-- /.col -->
<div class="col-xs-5">
<?= Html::submitButton(Yii::t('app', 'Login'), ['class' => 'btn btn-primary btn-block btn-flat', 'id' => 'login-button', 'name' => 'login-button']) ?>
</div><!-- /.col -->
</div>
<!--a href="#">I forgot my password</a--><br>
</div><!-- /.login-box-body -->
<div class="logmod__alter">
<div class="login-box-body login-manager">
<!--<button type="button" class="btn btn-block btn-primary btn-lg"><span>New Manager? <strong>Create Building Manager</strong></span></button>-->
<?= Html::SubmitButton(Yii::t('app', '<span>New Manager? <strong>Create Building Manager</strong></span>'), ['class' => 'btn btn-block btn-primary btn-lg', 'id' => 'manager-button', 'name' => 'manager-button']) ?>
</div>
<div class="login-box-body login-contractor">
<!-- <button type="button" class="btn btn-block btn-success btn-lg"><span>New Inspector? <strong>Create Inspector Account</strong></span></button>-->
<?= Html::SubmitButton(Yii::t('app', '<span>New Inspector? <strong>Create Inspector Account</strong></span>'), ['class' => 'btn btn-block btn-success btn-lg', 'id' => 'inspector-button', 'name' => 'inspector-button']) ?>
</div>
</div>
<?php ActiveForm::end(); ?>
<?php if(\Yii::$app->session->hasFlash('loginError')) : ?>
<div class="alert alert-danger alert-dismissible" style="margin-top: 5%;">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<?php echo \Yii::$app->session->getFlash('loginError'); ?>
</div>
<?php endif; ?>
</div><!-- /.login-box -->