Yii verwendet Formulare
1. Erstellen Sie ein Modell
a. Fügen Sie eine Basisklasse hinzu
verwenden Sie yii/base/Model
b eine Klassenvererbung Selbstbasisklasse
c. Erstellen Sie die erforderlichen Variablen
f 🎜> Zum Beispiel:
Diese Klasse erbt von einer von Yii bereitgestellten Basisklasse [[yiibaseModel]], die normalerweise zur Darstellung von Daten verwendet wird<?<span>php namespace app\models; </span><span>use</span><span> yii\base\Model; </span><span>class</span> EntryForm <span>extends</span><span> Model { </span><span>public</span> <span>$name</span><span>; </span><span>public</span> <span>$email</span><span>; </span><span>public</span> <span>function</span><span> rules() { </span><span>return</span><span> [ [[</span>'name', 'email'], 'required'],<span> [</span>'email', 'email'],<span> ]; } }</span>Nach dem Login kopierenErgänzung: [[yiibaseModel]] wird als übergeordnete Klasse gewöhnlicher Modellklassen verwendet und hat nichts mit Datentabellen zu tun. [[yiidbActiveRecord]] ist normalerweise die übergeordnete Klasse einer normalen Modellklasse, hängt jedoch mit der Datentabelle zusammen (Übersetzung: Die Klasse [[yiidbActiveRecord]] erbt tatsächlich von [[yiibaseModel]] und fügt Datenbankverarbeitung hinzu). Die Klasseenthält zwei öffentliche Mitglieder, und
, die zum Speichern vom Benutzer eingegebener Daten verwendet werden. Es enthält auch eine Methode namens, die eine Sammlung von Datenvalidierungsregeln zurückgibt. Die oben deklarierte Validierungsregel bedeutet:
EntryForm
Es sind sowohl die Wertename
rules()
erforderlich Der Wert von
- muss die E-Mail-Regelüberprüfung
name
- Wenn Sie ein
EntryForm
2. Vorgang erstellen<?<span>php </span><span>$model</span> = <span>new</span><span> EntryForm(); </span><span>$model</span>->name = 'Qiang'<span>; </span><span>$model</span>->email = 'bad'<span>; </span><span>if</span> (<span>$model</span>-><span>validate()) { </span><span>//</span><span> 验证成功!</span> } <span>else</span><span> { </span><span>//</span><span> 失败! // 使用 $model->getErrors() 获取错误详情</span> }Nach dem Login kopierenAls nächstes müssen Sie eine Operation im
Controller für das neue Modell erstellen. Die Erstellung und Verwendung von Aktionen wurde im Abschnitt „Sag Hallo“ erklärt.Dieser Vorgang erstellt zunächst ein
site
entry
-Objekt. Versuchen Sie dann, vom Benutzer übermittelte Daten vonzu sammeln, die von der [[yiiwebRequest::post()]]-Methode von Yii erfasst werden. Wenn das Modell erfolgreich mit Daten gefüllt wurde (d. h. der Benutzer hat das HTML-Formular übermittelt), ruft die Operation [[yiibaseModel::validate()|validate()]] auf, um sicherzustellen, dass der Benutzer gültige Daten übermittelt hat.<?<span>php namespace app\controllers; </span><span>use</span><span> Yii; </span><span>use</span><span> yii\web\Controller; </span><span>use</span><span> app\models\EntryForm; </span><span>class</span> SiteController <span>extends</span><span> Controller { </span><span>//</span><span> ...其它代码...</span> <span>public</span> <span>function</span><span> actionEntry() { </span><span>$model</span> = <span>new</span><span> EntryForm; </span><span>if</span> (<span>$model</span>->load(Yii::<span>$app</span>->request->post()) && <span>$model</span>-><span>validate()) { </span><span>//</span><span> 验证 $model 收到的数据 // 做些有意义的事 ...</span> <span>return</span> <span>$this</span>->render('entry-confirm', ['model' => <span>$model</span><span>]); } </span><span>else</span><span> { </span><span>//</span><span> 无论是初始化显示还是数据验证错误</span> <span>return</span> <span>$this</span>->render('entry', ['model' => <span>$model</span><span>]); } } }</span>Nach dem Login kopieren
EntryForm
Ergänzung: Der Ausdruck$_POST
stellt dieAnwendungsinstanz
-Ansicht die Ausgabe zusammen mit dem Formular und den Details des Validierungsfehlers gerendert.Yii::$app
dar, bei der es sich um einen global zugänglichen Singleton handelt. Gleichzeitig ist es auch ein Service Locator, der , , und andere Komponenten mit spezifischen Funktionen bereitstellen kann. Im obigen Code wird die -Komponente verwendet, um auf die von der Anwendungsinstanz empfangenenrequest
-Daten zuzugreifen.response
db
request
$_POST
Nachdem der Benutzer das Formular abgeschickt hat, rendert der Vorgang eine Ansicht mit dem Namen , um die vom Benutzer eingegebenen Daten zu bestätigen. Wenn das Formular ohne Ausfüllen übermittelt wird oder die Daten Fehler enthalten (Übersetzer: Das E-Mail-Format ist beispielsweise falsch), wird in der
entry-confirm
Hinweis: In diesem einfachen Beispiel präsentieren wir nur die Bestätigungsseite mit gültigen Daten. In der Praxis sollten Sie die Verwendung von [[yiiwebController::refresh()|refresh()]] oder [[yiiwebController::redirect()|redirect()]] in Betracht ziehen, umentry
das Problem der wiederholten Formularübermittlung zu vermeiden3. Erstellen Sie eine Ansicht.
Schließlich erstellen Sie zwei Ansichtsdateien und
. Sie werden durch die soeben erstellte Aktiongerendert. In der
entry-confirm
-Ansicht werden lediglich die übermittelten Namens- und E-Mail-Daten angezeigt. Ansichtsdateien werden inentry
gespeichert.entry
entry-confirm
views/site/entry-confirm.php
Die Ansichtzeigt ein HTML-Formular an. Ansichtsdateien werden in<?<span>php </span><span>use</span><span> yii\helpers\Html; </span>?> <p>You have entered the following information:</p> <ul> <li><label>Name</label>: <?= Html::encode(<span>$model</span>->name) ?></li> <li><label>Email</label>: <?= Html::encode(<span>$model</span>->email) ?></li> </ul>Nach dem Login kopierengespeichert
entry
views/site/entry.php
Die Ansicht verwendet ein leistungsstarkes Widget [[yiiwidgetsActiveForm|ActiveForm]], um HTML-Formulare zu generieren. Die und werden verwendet, um die öffnenden und schließenden Tags des Formulars darzustellen. Die Methode [[yiiwidgetsActiveForm::field()|field()]] wird zwischen diesen beiden Methoden verwendet, um das Eingabefeld zu erstellen. Das erste Eingabefeld ist für „Name“ und das zweite Eingabefeld für „E-Mail“. Verwenden Sie dann die Methode [[yiihelpersHtml::submitButton()]], um eine Senden-Schaltfläche zu generieren.<?<span>php </span><span>use</span><span> yii\helpers\Html; </span><span>use</span><span> yii\widgets\ActiveForm; </span>?> <?php <span>$form</span> = ActiveForm::begin(); ?> <?= <span>$form</span>->field(<span>$model</span>, 'name') ?> <?= <span>$form</span>->field(<span>$model</span>, 'email') ?> <div <span>class</span>="form-group"> <?= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?> </div> <?php ActiveForm::<span>end</span>(); ?>Nach dem Login kopieren
begin()
end()
Denken Sie daran, Widgets zu verwenden. Sie müssen diese beiden vorstellenDas Obige stellt die Verwendung von Formularen in Yii vor, einschließlich einiger Aspekte des Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.<span>use</span><span> yii\helpers\Html; </span><span>use</span> yii\wigets\ActiveForm;Nach dem Login kopieren

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Viele Benutzer werden sich bei der Auswahl von Smartwatches für die Marke Huawei entscheiden. Viele Benutzer sind neugierig auf den Unterschied zwischen Huawei GT3pro und GT4. Was sind die Unterschiede zwischen Huawei GT3pro und GT4? 1. Aussehen GT4: 46 mm und 41 mm, das Material ist Glasspiegel + Edelstahlgehäuse + hochauflösende Faserrückschale. GT3pro: 46,6 mm und 42,9 mm, das Material ist Saphirglas + Titangehäuse/Keramikgehäuse + Keramikrückschale 2. Gesundes GT4: Mit dem neuesten Huawei Truseen5.5+-Algorithmus werden die Ergebnisse genauer. GT3pro: EKG-Elektrokardiogramm sowie Blutgefäß und Sicherheit hinzugefügt

Der Weg einer E-Mail ist: MUA: MailUserAgent – Mail User Agent. (d. h. E-Mail-Software ähnlich wie Outlook) MTA: MailTransferAgent – Mail-Transfer-Agent, also E-Mail-Dienstanbieter wie NetEase, Sina usw. MDA: MailDeliveryAgent – Mail-Zustellungsagent. Ein Server des E-Mail-Dienstanbieters sender->MUA->MTA->MTA->if

Warum das Snipping-Tool unter Windows 11 nicht funktioniert Das Verständnis der Grundursache des Problems kann dabei helfen, die richtige Lösung zu finden. Hier sind die häufigsten Gründe, warum das Snipping Tool möglicherweise nicht ordnungsgemäß funktioniert: Focus Assistant ist aktiviert: Dies verhindert, dass das Snipping Tool geöffnet wird. Beschädigte Anwendung: Wenn das Snipping-Tool beim Start abstürzt, ist es möglicherweise beschädigt. Veraltete Grafiktreiber: Inkompatible Treiber können das Snipping-Tool beeinträchtigen. Störungen durch andere Anwendungen: Andere laufende Anwendungen können mit dem Snipping Tool in Konflikt geraten. Das Zertifikat ist abgelaufen: Ein Fehler während des Upgrade-Vorgangs kann zu diesem Problem führen. Diese einfache Lösung ist für die meisten Benutzer geeignet und erfordert keine besonderen technischen Kenntnisse. 1. Aktualisieren Sie Windows- und Microsoft Store-Apps

Teil 1: Erste Schritte zur Fehlerbehebung Überprüfen des Apple-Systemstatus: Bevor wir uns mit komplexen Lösungen befassen, beginnen wir mit den Grundlagen. Das Problem liegt möglicherweise nicht an Ihrem Gerät; die Server von Apple sind möglicherweise ausgefallen. Besuchen Sie die Systemstatusseite von Apple, um zu sehen, ob der AppStore ordnungsgemäß funktioniert. Wenn es ein Problem gibt, können Sie nur warten, bis Apple es behebt. Überprüfen Sie Ihre Internetverbindung: Stellen Sie sicher, dass Sie über eine stabile Internetverbindung verfügen, da das Problem „Verbindung zum AppStore nicht möglich“ manchmal auf eine schlechte Verbindung zurückzuführen ist. Versuchen Sie, zwischen WLAN und mobilen Daten zu wechseln oder die Netzwerkeinstellungen zurückzusetzen (Allgemein > Zurücksetzen > Netzwerkeinstellungen zurücksetzen > Einstellungen). Aktualisieren Sie Ihre iOS-Version:

Nachdem an vielen zentralisierten Börsen Probleme aufgetreten waren, begannen immer mehr Kryptowährungsinvestoren, Vermögenswerte auf Cold Wallets zu übertragen, um die von zentralisierten Börsen ausgehenden Risiken zu verringern. In diesem Artikel wird Trezor vorgestellt, der weltweit erste Cold Wallet-Anbieter. Seit der Einführung des ersten Cold Wallets im Jahr 2014 wurde es in vielen Ländern auf der ganzen Welt verkauft. Zu den Produkten von Trezor gehören das 2014 eingeführte Model One und die 2018 eingeführte Weiterentwicklung des Model T. Im Folgenden werden weiterhin die Unterschiede zwischen diesen beiden Produkten und anderen Cold Wallets vorgestellt. Was ist Trezor Cold Wallet? Im Jahr 2014 brachte Trezor das erste Cold Wallet ModelOne auf den Markt. Neben gängigen BTC, ETH, USDT und anderen Währungen unterstützt das Wallet auch mehr als 1.000 weitere Währungen.

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Mit der Weiterentwicklung des Internets wird auch die Nachfrage nach der Entwicklung von Webanwendungen immer größer. Für Entwickler erfordert die Entwicklung von Anwendungen ein stabiles, effizientes und leistungsstarkes Framework, das die Entwicklungseffizienz verbessern kann. Yii ist ein führendes Hochleistungs-PHP-Framework, das umfangreiche Funktionen und gute Leistung bietet. Yii3 ist die nächste Generation des Yii-Frameworks, das die Leistung und Codequalität basierend auf Yii2 weiter optimiert. In diesem Artikel stellen wir vor, wie Sie das Yii3-Framework zum Entwickeln von PHP-Anwendungen verwenden.

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
