有关Yii框架表单验证的问题。懂Yii的大神请进来看看吧.
我在用Yii做一个简单的小blog,在做后台登陆验证的时候,出现bug,
不提示登陆错误信息,我做的是账号,密码,验证码不能为空。
而且也不与数据库匹配。我已经测试过,数据库连接完全没有问题。
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 actions(){
return array(
'captcha' => array(
'class' => 'system.web.widgets.captcha.CCaptchaAction',
'height' => 25,
'width' => 80,
'minLength' => 4,
'maxLength' => 4,
'offset' => 3,
'padding' => 1
),
);
}
}
这个是model,User.php
/**
* 后台用户模型
*/
class User extends CActiveRecord{
/**
* 必不可缺的方法一,返回模型
*/
public static function model($className = __CLASS__){
return parent::model($className);
}
/**
* 必不可却的方法二,返回表名
*/
public function tableName(){
return "{{user}}";
}
}
这个是LoginForm.php中的一个方法
public function rules()
{
return array(
// username and password are required
array('username', 'required', 'message' => '用户名不能为空'),
array('password', 'required', 'message' => '密码不能为空'),
// rememberMe needs to be a boolean
array('rememberMe', 'boolean'),
// password needs to be authenticated
array('password', 'authenticate'),
//自定义错误信息
array('captcha', 'captcha', 'message' => '验证码错误'),
);
}
这个是输出错误信息的页面 index.php
- error($loginForm,'username') ?>
- error($loginForm,'password') ?>
- error($loginForm,'captcha') ?>
这个是components目录中的 UserIdentity.php
/**
* UserIdentity represents the data needed to identity a user.
* It contains the authentication method that checks if the provided
* data can identity the user.
*/
class UserIdentity extends CUserIdentity
{
/**
* Authenticates a user.
* The example implementation makes sure if the username and password
* are both 'demo'.
* In practical applications, this should be changed to authenticate
* against some persistent user identity storage (e.g. database).
* @return boolean whether authentication succeeds.
*/
public function authenticate()
{
$userInfo = User::model()->find('username = :name', array(':name' => $this->username));
if($userInfo == NULL){
$this->errorCode = self::ERROR_USERNAME_INVALID;
return false;
}
if($userInfo->password !== md5($this->password)){
$this->errorCode = self::ERROR_PASSWORD_INVALID;
return false;
}
$this->errorCode = self::ERROR_NONE;
return true;
}
}
到底哪里出错了,数据库链接已经测过,完全没有问题。
现在的情况是,即使写了错误信息,也不提示,也不执行登陆验证。除了验证码可以更换之外,完全就像一个静态页面。
回复讨论(解决方案)
if(isset($_POST['$LoginForm'])){ ???
是 if(isset($_POST['LoginForm'])){ 吧
if(isset($_POST['$LoginForm'])){ ???
是 if(isset($_POST['LoginForm'])){ 吧
对对对,没错的。谢谢,谢谢...
我都不知道那个$是怎么写上去的...

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment implémenter le saut de page après la soumission d'un formulaire PHP [Introduction] Dans le développement Web, la soumission de formulaire est une exigence fonctionnelle courante. Une fois que l'utilisateur a rempli le formulaire et cliqué sur le bouton d'envoi, les données du formulaire doivent généralement être envoyées au serveur pour traitement et l'utilisateur est redirigé vers une autre page après le traitement. Cet article explique comment utiliser PHP pour implémenter le saut de page après la soumission du formulaire. [Étape 1 : Formulaire HTML] Tout d'abord, nous devons écrire une page contenant un formulaire dans une page HTML afin que les utilisateurs puissent remplir les données qui doivent être soumises.

Comment utiliser JavaScript pour réaliser la fonction d'invite automatique du contenu de la zone de saisie du formulaire ? Introduction : La fonction d'invite automatique du contenu de la zone de saisie du formulaire est très courante dans les applications Web. Elle peut aider les utilisateurs à saisir rapidement le contenu correct. Cet article explique comment utiliser JavaScript pour réaliser cette fonction et fournit des exemples de code spécifiques. Créer la structure HTML Tout d'abord, nous devons créer une structure HTML contenant la zone de saisie et la liste de suggestions automatiques. Vous pouvez utiliser le code suivant : <!DOCTYP

Comment gérer la gestion des droits des utilisateurs dans les formulaires PHP Avec le développement continu des applications Web, la gestion des droits des utilisateurs est l'une des fonctions importantes. La gestion des droits des utilisateurs peut contrôler les droits d'exploitation des utilisateurs dans les applications et garantir la sécurité et la légalité des données. Dans les formulaires PHP, la gestion des droits des utilisateurs peut être implémentée via un code simple. Cet article présentera comment gérer la gestion des droits des utilisateurs dans les formulaires PHP et donnera des exemples de code correspondants. 1. Définition et gestion des rôles utilisateurs Tout d'abord, la définition et la gestion des rôles utilisateurs sont une question de droits d'utilisateur.

Comment utiliser JavaScript pour implémenter la vérification en temps réel du contenu de la zone de saisie d'un formulaire ? Dans de nombreuses applications Web, les formulaires constituent le moyen d'interaction le plus courant entre les utilisateurs et le système. Cependant, le contenu saisi par l'utilisateur doit souvent être validé pour garantir l'exactitude et l'exhaustivité des données. Dans cet article, nous apprendrons comment utiliser JavaScript pour mettre en œuvre une vérification en temps réel du contenu de la zone de saisie du formulaire et fournirons des exemples de code spécifiques. Création du formulaire Nous devons d'abord créer un tableau simple en HTML

Comment utiliser HTML, CSS et jQuery pour implémenter la fonction avancée d'enregistrement automatique des formulaires. Les formulaires sont l'un des éléments les plus courants dans les applications Web modernes. Lorsque les utilisateurs saisissent des données de formulaire, la manière de mettre en œuvre la fonction d'enregistrement automatique peut non seulement améliorer l'expérience utilisateur, mais également garantir la sécurité des données. Cet article expliquera comment utiliser HTML, CSS et jQuery pour implémenter la fonction de sauvegarde automatique du formulaire et joindra des exemples de code spécifiques. 1. Structure du formulaire HTML Créons d’abord un formulaire HTML simple.

Traitement des formulaires PHP : requête et filtrage des données des formulaires Introduction Dans le développement Web, les formulaires constituent un moyen d'interaction important. Les utilisateurs peuvent soumettre des données au serveur via des formulaires pour un traitement ultérieur. Cet article explique comment utiliser PHP pour traiter les fonctions de requête et de filtrage des données de formulaire. Conception et soumission du formulaire Tout d'abord, nous devons concevoir un formulaire qui inclut des fonctions de requête et de filtrage. Les éléments de formulaire courants incluent des zones de saisie, des listes déroulantes, des boutons radio, des cases à cocher, etc., qui peuvent être conçus en fonction de besoins spécifiques. Lorsque l'utilisateur soumet le formulaire, les données seront envoyées au POS

Les formulaires font partie intégrante de la rédaction d’un site Web ou d’une application. Laravel, en tant que framework PHP populaire, fournit des classes de formulaires riches et puissantes, rendant le traitement des formulaires plus facile et plus efficace. Cet article présentera quelques conseils sur l'utilisation des classes de formulaires Laravel pour vous aider à améliorer l'efficacité du développement. Ce qui suit explique en détail à travers des exemples de code spécifiques. Créer un formulaire Pour créer un formulaire dans Laravel, vous devez d'abord écrire le formulaire HTML correspondant dans la vue. Lorsque vous travaillez avec des formulaires, vous pouvez utiliser Laravel

Avec le développement continu de la technologie du cloud computing, la sauvegarde des données est devenue quelque chose que chaque entreprise doit faire. Dans ce contexte, il est particulièrement important de développer un système de sauvegarde cloud hautement disponible. Le framework PHP Yii est un framework puissant qui peut aider les développeurs à créer rapidement des applications Web hautes performances. Ce qui suit explique comment utiliser le framework Yii pour développer un système de sauvegarde cloud hautement disponible. Conception du modèle de base de données Dans le framework Yii, le modèle de base de données est une partie très importante. Parce que le système de sauvegarde des données nécessite beaucoup de tables et de relations
