Heim >PHP-Framework >YII >So registrieren Sie sich bei yii
Registrieren
Geben Sie in der erweiterten Vorlage die Anmeldeseite frontend/index.php?r=site%2F ein und Sie können die Registrierungsseite des Frameworks sehen
Nachdem Sie den Benutzernamen, die E-Mail-Adresse und das Passwort eingegeben und auf „Anmelden“ geklickt haben, führt die Funktion „rules()“ in frontend/models/SignuForm eine vorläufige Überprüfung durch Alle Formate sind korrekt. Die Daten werden an die Funktion actionSignup() in frontend/controllers/SiteController übertragen. Die Funktion lädt die vom Benutzer eingegebenen Registrierungsinformationen in frontend/models/SignupForm,
Der unten zitierte Text ist die Erklärungsfunktion. Die darin enthaltenen spezifischen Details haben keinen Einfluss auf das Ganze, da es keine Falttextfunktion gibt
if (!$this->validate()) { return null; }Die Funktion „signup()“ ruft zunächst die Funktion „validate()“ in yii2/base/Model Verification auf.
Der erste Schritt besteht darin, die Fehlermeldung zu löschen, wenn der Benutzer Eingaben mit der Funktion „rules()“ in „frontend/models/“ durchführt. SignuForm
if ($clearErrors) { $this->clearErrors(); }Der zweite Schritt besteht darin, dass die Funktion beforeValidate() das Ereignis beforeValidate auslöst und true zurückgibtIm dritten Schritt legen Sie das Szenario fest, der Standardwert ist StandardDie Vierter Schritt: Da die $attributeNames hier null sind, gibt
$attributeNames = $this->activeAttributes();nach der Ausführung das Array zurück (3) { [0]=> string(8) "username" [1]=> ; string(5) "email" [2]=> string(8) >"password" }
if (function_exists('password_hash')) { /** @noinspection PhpUndefinedConstantInspection */ return password_hash($password, PASSWORD_DEFAULT, ['cost' => $cost]); }Wenn ja, verwenden Sie die Funktion „password_hash“ zur Verschlüsselung. Wenn PHP keine Funktion „password_hash“ hat, verwenden Sie die Funktion „crypt“ zur Verschlüsselung. Das erste Urteil ist, dass sie mit PHP-Versionen vor 5.5 kompatibel sein muss . Schließlich verfügen Versionen über 5.5 erst über die Funktion „password_hash“ common/models/User's signup(), um nach der Verschlüsselung des Passworts weiterhin einen Authentifizierungsschlüssel zu generieren Wenn der Benutzer beim Anmelden auf „Mich erinnern“ klickt. Die Methode zum Generieren des Authentifizierungsschlüssels lautet auch „generateRandomString“ in yii2/base/Security. Wenn Ihre PHP-Version 5.2~5.6 oder 7 ist, verwenden Sie random_bytes, um eine Abschnittszeichenfolge mit 32 Wörtern zu generieren. Wenn nicht, wird die Funktion openssl_random_pseudo_bytes aufgerufen, um sie zu generieren, wenn Sie Windows verwenden und OpenSSL installiert ist. Wenn Sie OpenSSL nicht installieren, wird mcrypt_create_iv zum Generieren verwendet .
password_reset_token ist leer, wenn der Benutzer sich registriert. Es wird generiert, wenn der Benutzer das Passwort vergisst und auf der Anmeldeseite auf „Zurücksetzen“ klickt. Es wird zur Überprüfung verwendet, wenn das Passwort nach dem Senden einer E-Mail an den Benutzer zurückgesetzt wird.
const STATUS_DELETED = 0; const STATUS_ACTIVE = 10;Der Status in den Regeln ist standardmäßig 10, wenn sich ein Benutzer registriert.
Create_Time und Updated_Time sind ebenfalls in „Common/Models“ angegeben / Die Funktion „behaviours()“ in „Benutzer“ generiert
Das obige ist der detaillierte Inhalt vonSo registrieren Sie sich bei yii. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!