ユーザー名とパスワードに「admin」と入力すると正常にログインするyii2デフォルトログインを使用しています。問題は新しいユーザー登録にあります。私はユーザー名とパスワードを登録するためのこのコントローラアクションを持っています。Yii2ユーザー登録
public function actionSignup()
{
$model = new User();
if(isset($_POST['User']))
{
$model->attributes=$_POST['User'];
$model->setAttributes(array(
'datereg' => time(),
'lastlogin' => time()
));
if($model->save())
{
$login=new LoginForm;
$login->username = $_POST['User']['username'];
$login->password = $_POST['User']['password'];
if($login->validate() && $login->login())
$this->redirect('/telephone/add');
}
}
else
{
return $this->render('register');
}
}
ログインアクションは次のとおりです。
public function actionLogin()
{
if (!\Yii::$app->user->isGuest) {
return $this->redirect(Yii::$app->request->baseUrl.'/telephone/add');
}
$model = new LoginForm();
if ($model->load(Yii::$app->request->post()) && $model->login()) {
return $this->redirect(Yii::$app->request->baseUrl.'/telephone/add');
}
return $this->render('login', [
'model' => $model,
]);
}
user
とloginform
は、デフォルトのモデルです。登録フォームは次のようになります。
<div class="container">
<div class="row">
<h2> New User Signup</h2><br>
<form class="formclass" method="POST" action="<?php echo Yii::$app->request->baseUrl;?>/telephone/signup/" role="form" id="register-form" novalidate="novalidate">
<label> UserName:</label> <input type="name" name="username" id="username" placeholder="UserName" required><br><br>
<label> Password: </label> <input type="password" name="password" id="password" placeholder="Password" required><br><br>
<button type="submit" class="btn btn-default">Sign Up</button><BR><BR>
</form>
</div>
</div>
ただし、ユーザー名とパスワードはデータベースに保存されず、エラーもありません。また、登録が成功した後にリダイレクトされません。私がclikサインアップボタンを押すと、ページはリロードのようです。
unknownプロパティ:app \ models \ User: :エラー 'が表示されます – micky