我嘗試在Yii2 Basic中創建自定義登錄表單,沒有ActiveForm小部件。我製作了一個我想用於登錄的表單,但是,當我嘗試登錄時,它並沒有登錄,只刷新了頁面而沒有nothihng,所以我可能會錯過某些東西或者不喜歡它。我使用電子郵件地址而不是用戶名,並與ActiveForm一起工作,但當我嘗試使其定製有一些問題。自定義登錄表單Yii2基本
這是我想讓我的登錄表單定製:
<div class="login-message">
<h1><?= Html::encode($this->title) ?></h1>
</div>
<form method="post">
<div>
<span class=""> Email </span>
<input value="<?php $model->email ?>" placeholder="Write your email address" type="text">
</div>
<div>
<span class=""> Password </span>
<input value="<?php $model->password ?>" placeholder="Write your password" type="password">
</div>
<div class="form-group">
<div>
<div class="register">
<?= Html::a(Yii::t("app", "Register"), ["/site/register"]) ?>
</div>
<br>
<div class="forgot-pas">
<?= Html::a(Yii::t("app", "Forgotten password") . "?", ["/site/forgot"]) ?>
<br>
</div>
<br>
<div class="login-button">
<?= Html::submitButton('Login', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?>
</div>
</div>
</div>
<input type="hidden" value="" name="_csrf" >
</form>
我在SiteController行動登錄:
public function actionLogin() {
if (!Yii::$app->user->isGuest) {
return $this->goHome();
}
$model = new LoginForm();
if ($model->load(Yii::$app->request->post()) && $model->login()) {
return $this->goBack();
}
return $this->render('login', [
'model' => $model,
]);
}
是否有你不想使用ActiveForm的原因? – marche
你錯過了''form method =「post」>'中的動作可能是原因 – Ripper
我設置了