Yii を使用して簡単な小さなブログを作成しています。バックグラウンドでログイン認証を行うと、バグが発生します。
アカウント番号、パスワード、確認コードを空にすることはできません。
そしてデータベースとも一致しません。テストしましたが、データベース接続に問題はありませんでした。
LoginController.php
/**
*バックエンドログインコントローラー
*/
class LoginController extends Controller{
/**
*バックエンドログインテンプレート
*/
public function actionIndex(){
$loginForm = new LoginForm();
if(isset($_POST['$LoginForm'])){
$loginForm->attributes = $_POST['LoginForm'];
if($loginForm->validate()){
echo 1;die ;
}
}
$this->render('index',array('loginForm' => $loginForm));
public function events(){
return array(
'captcha' => ; array(
'class' => 'system.web.widgets.captcha.CCaptchaAction',
'height' => 25,
'width' => 80,
'minLength' => 4,
'maxLength' => 4,
'offset' => 3,
'padding' => 1
),
}
これは、User.php
*バックエンドユーザーモデル
*/
class User extends CActiveRecord{
/**
* 必須のメソッド 1、モデルを返す
*/
public static function model($className = __CLASS__){
returnparent::model($className) }
; /**
* 避けられない方法 2 は、テーブル名を返すことです
*/
public function tableName(){
return "{{user}}";
}
}
これは LoginForm.php のメソッドです
public function rules()
{
return array (
// ユーザー名とパスワードは必須です
array('username', 'required', 'message' => 'ユーザー名は空にすることはできません'),
array('password', 'required', 'message' => ; 'パスワードを空にすることはできません'),
// rememberMe はブール値である必要があります
array('rememberMe', 'boolean'),
// パスワードは認証される必要があります
array('password', 'authenticate' ),
//カスタマイズされたエラーメッセージ
array('captcha', 'captcha', 'message' => '認証コードエラー'),
);
}
エラーメッセージを出力するページです。index.php & Lt ; ul ID = "peo" & gt; & lt; li class = "エラー" & gt; PHP エラー ($ ロジックインフォーム)
ディスカッションに返信 (解決策)
if(isset($_POST['$LoginForm'])){ ですか? ? ?