ホームページ  >  記事  >  バックエンド開発  >  thinkphpメンバーを使用したログイン用フォームの自動検証については?

thinkphpメンバーを使用したログイン用フォームの自動検証については?

WBOY
WBOYオリジナル
2016-06-23 14:18:281048ブラウズ

私の MemberAction コードは

<?phpclass MemberAction extends Action{    public function insert()	{	header('Content-Type:text/html; charset=utf-8');        $Member   =   D('developers');        if($Member->create()) {            $result =   $Member->add();            if($result) {                $this->success('注册成功!');            }else{                $this->error('注册失败!');            }        }else{            $this->error($Member->getError());        }    } }?>
です

私の MemberModel コードは
<?phpclass 	MemberModel extends Model {        protected $_validate    =   array(	    array("username","require","用户名不能为空"),		array('username','','帐号名称已经存在!',0,'unique',1),		array("username","checkLength","用户名长度不符合要求",0,'callback'),        array('name','require','名字必须'),		array("password","require","密码不能为空"),		array("password","checkLength","密码长度的要求是5~15位之间",0,'callback'),		array('repassword','password','两次密码输入不一致',0,'confirm'),        );    	 protected $_auto = array(         array('status', '1', self::MODEL_INSERT),         array('create_time', 'time', self::MODEL_INSERT, 'function'),     );   }?>
です
問題は、何を入力しても自動的に認証されないことです。入力しないと登録は失敗します。何が起こっているのかわかりません。教えてください


ディスカッションへの返信 (解決策)

$Member = D('developers'); カスタム モデル クラスが存在しないため、Model 基本クラスがインスタンス化されます。 。したがって、MemberModel の検証は有効になりません。

$Member = D('developers'); カスタム モデル クラスの削除者がないため、Model 基本クラスがインスタンス化されます。したがって、MemberModel の検証は有効になりません。

では、どう変えるべきでしょうか?


$Member = D('Member');

$Member = D('Member');

はい、変更しましたが、データ テーブルは開発者のため、自動的に検証されますが、検証されませんでした。登録した内容をデータベースに追加するにはどうすればよいですか?

MemberModel を追加します: protected $tableName = 'developers';

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。