Inhaltsverzeichnis
回复讨论(解决方案)
Heim Backend-Entwicklung PHP-Tutorial 有关Yii框架表单验证的问题。懂Yii的大神请进来看看吧.

有关Yii框架表单验证的问题。懂Yii的大神请进来看看吧.

Jun 23, 2016 pm 01:55 PM
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'])){ 吧




对对对,没错的。谢谢,谢谢...
我都不知道那个$是怎么写上去的...
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So implementieren Sie einen Seitensprung nach der Übermittlung eines PHP-Formulars So implementieren Sie einen Seitensprung nach der Übermittlung eines PHP-Formulars Aug 12, 2023 am 11:30 AM

So implementieren Sie einen Seitensprung nach der PHP-Formularübermittlung [Einführung] In der Webentwicklung ist die Formularübermittlung eine häufige Funktionsanforderung. Nachdem der Benutzer das Formular ausgefüllt und auf die Schaltfläche „Senden“ geklickt hat, müssen die Formulardaten normalerweise zur Verarbeitung an den Server gesendet werden, und der Benutzer wird nach der Verarbeitung auf eine andere Seite weitergeleitet. In diesem Artikel wird erläutert, wie Sie mit PHP einen Seitensprung nach der Formularübermittlung implementieren. [Schritt 1: HTML-Formular] Zuerst müssen wir eine Seite mit einem Formular in einer HTML-Seite schreiben, damit Benutzer die Daten eingeben können, die übermittelt werden müssen.

Wie realisiert man mit JavaScript die automatische Eingabeaufforderungsfunktion für den Inhalt des Eingabefelds des Formulars? Wie realisiert man mit JavaScript die automatische Eingabeaufforderungsfunktion für den Inhalt des Eingabefelds des Formulars? Oct 20, 2023 pm 04:01 PM

Wie realisiert man mit JavaScript die automatische Eingabeaufforderungsfunktion für den Inhalt des Eingabefelds des Formulars? Einführung: Die automatische Eingabeaufforderungsfunktion für den Inhalt des Formulareingabefelds ist in Webanwendungen weit verbreitet. Sie kann Benutzern dabei helfen, schnell den richtigen Inhalt einzugeben. In diesem Artikel wird erläutert, wie Sie diese Funktion mithilfe von JavaScript erreichen, und es werden spezifische Codebeispiele bereitgestellt. Erstellen Sie die HTML-Struktur. Zuerst müssen wir eine HTML-Struktur erstellen, die das Eingabefeld und die Liste der automatischen Vorschläge enthält. Sie können den folgenden Code verwenden: <!DOCTYP

Umgang mit der Benutzerrechteverwaltung in PHP-Formularen Umgang mit der Benutzerrechteverwaltung in PHP-Formularen Aug 10, 2023 pm 01:06 PM

Umgang mit der Benutzerrechteverwaltung in PHP-Formularen Bei der kontinuierlichen Weiterentwicklung von Webanwendungen ist die Benutzerrechteverwaltung eine der wichtigen Funktionen. Durch die Benutzerrechteverwaltung können die Bedienrechte der Benutzer in Anwendungen gesteuert und die Sicherheit und Rechtmäßigkeit der Daten gewährleistet werden. In PHP-Formularen kann die Benutzerrechteverwaltung durch einfachen Code implementiert werden. In diesem Artikel wird der Umgang mit der Benutzerrechteverwaltung in PHP-Formularen vorgestellt und entsprechende Codebeispiele gegeben. 1. Definition und Verwaltung von Benutzerrollen Die Definition und Verwaltung von Benutzerrollen ist zunächst eine Frage der Benutzerrechte.

Wie implementiert man mit JavaScript eine Echtzeitüberprüfung des Eingabefeldinhalts eines Formulars? Wie implementiert man mit JavaScript eine Echtzeitüberprüfung des Eingabefeldinhalts eines Formulars? Oct 18, 2023 am 08:47 AM

Wie implementiert man mit JavaScript eine Echtzeitüberprüfung des Eingabefeldinhalts eines Formulars? In vielen Webanwendungen sind Formulare die häufigste Art der Interaktion zwischen Benutzern und dem System. Allerdings müssen die vom Benutzer eingegebenen Inhalte häufig validiert werden, um die Richtigkeit und Vollständigkeit der Daten sicherzustellen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript eine Echtzeitüberprüfung des Inhalts des Eingabefelds des Formulars implementieren und stellen spezifische Codebeispiele bereit. Erstellen des Formulars Zuerst müssen wir eine einfache Tabelle in HTML erstellen

So nutzen Sie HTML, CSS und jQuery, um die erweiterte Funktion des automatischen Speicherns von Formularen zu realisieren So nutzen Sie HTML, CSS und jQuery, um die erweiterte Funktion des automatischen Speicherns von Formularen zu realisieren Oct 28, 2023 am 08:20 AM

Verwendung von HTML, CSS und jQuery zur Implementierung der erweiterten Funktion des automatischen Speicherns von Formularen. Formulare sind eines der häufigsten Elemente in modernen Webanwendungen. Wenn Benutzer Formulardaten eingeben, kann die Implementierung der automatischen Speicherfunktion nicht nur die Benutzererfahrung verbessern, sondern auch die Datensicherheit gewährleisten. In diesem Artikel wird erläutert, wie Sie mithilfe von HTML, CSS und jQuery die automatische Speicherfunktion des Formulars implementieren und spezifische Codebeispiele anhängen. 1. Struktur des HTML-Formulars Erstellen wir zunächst ein einfaches HTML-Formular.

PHP-Formularverarbeitung: Abfrage und Filterung von Formulardaten PHP-Formularverarbeitung: Abfrage und Filterung von Formulardaten Aug 07, 2023 pm 06:17 PM

PHP-Formularverarbeitung: Formulardatenabfrage und -filterung Einführung In der Webentwicklung sind Formulare eine wichtige Möglichkeit der Interaktion. Benutzer können Daten über Formulare zur weiteren Verarbeitung an den Server senden. In diesem Artikel wird erläutert, wie Sie mit PHP die Abfrage- und Filterfunktionen von Formulardaten verarbeiten. Formularentwurf und -übermittlung Zunächst müssen wir ein Formular entwerfen, das Abfrage- und Filterfunktionen enthält. Zu den gängigen Formularelementen gehören Eingabefelder, Dropdown-Listen, Optionsfelder, Kontrollkästchen usw., die je nach Bedarf gestaltet werden können. Wenn der Benutzer das Formular absendet, werden die Daten an POS gesendet

Tipps zur Verwendung von Laravel-Formularklassen: Möglichkeiten zur Verbesserung der Effizienz Tipps zur Verwendung von Laravel-Formularklassen: Möglichkeiten zur Verbesserung der Effizienz Mar 11, 2024 pm 12:51 PM

Formulare sind ein wesentlicher Bestandteil beim Schreiben einer Website oder Bewerbung. Laravel bietet als beliebtes PHP-Framework umfangreiche und leistungsstarke Formularklassen, die die Formularverarbeitung einfacher und effizienter machen. In diesem Artikel werden einige Tipps zur Verwendung von Laravel-Formularklassen vorgestellt, die Ihnen dabei helfen, die Entwicklungseffizienz zu verbessern. Im Folgenden wird anhand spezifischer Codebeispiele ausführlich erläutert. Erstellen eines Formulars Um ein Formular in Laravel zu erstellen, müssen Sie zunächst das entsprechende HTML-Formular in die Ansicht schreiben. Wenn Sie mit Formularen arbeiten, können Sie Laravel verwenden

So entwickeln Sie mit dem PHP-Framework Yii ein hochverfügbares Cloud-Backup-System So entwickeln Sie mit dem PHP-Framework Yii ein hochverfügbares Cloud-Backup-System Jun 27, 2023 am 09:04 AM

Mit der kontinuierlichen Weiterentwicklung der Cloud-Computing-Technologie ist die Datensicherung zu etwas geworden, das jedes Unternehmen durchführen muss. In diesem Zusammenhang ist es besonders wichtig, ein hochverfügbares Cloud-Backup-System zu entwickeln. Das PHP-Framework Yii ist ein leistungsstarkes Framework, das Entwicklern dabei helfen kann, schnell leistungsstarke Webanwendungen zu erstellen. Im Folgenden wird vorgestellt, wie Sie mit dem Yii-Framework ein hochverfügbares Cloud-Backup-System entwickeln. Entwerfen des Datenbankmodells Im Yii-Framework ist das Datenbankmodell ein sehr wichtiger Teil. Denn das Datensicherungssystem erfordert viele Tabellen und Beziehungen

See all articles