Heim  >  Artikel  >  PHP-Framework  >  Lassen Sie uns darüber sprechen, wie Sie das Laravel-Anmeldesystem auf mobile Anmeldung umstellen

Lassen Sie uns darüber sprechen, wie Sie das Laravel-Anmeldesystem auf mobile Anmeldung umstellen

PHPz
PHPzOriginal
2023-04-14 15:56:17755Durchsuche

Laravel ist ein sehr beliebtes PHP-Framework, das viele praktische und benutzerfreundliche Funktionen bietet. Eines davon ist das Authentifizierungssystem, das es Benutzern ermöglicht, sich auf der Website zu registrieren und anzumelden. In diesem Artikel bespreche ich, wie man das Laravel-Anmeldesystem auf ein mobiles Login umstellt.

Bevor Sie mit dem Codieren beginnen, stellen Sie sicher, dass Laravel installiert und konfiguriert ist. Wenn nicht, finden Sie detaillierte Anleitungen in der offiziellen Laravel-Dokumentation.

Der erste Schritt besteht darin, eine neue Datenbanktabelle zu erstellen, um die Mobiltelefonnummer und das Passwort des Benutzers zu speichern. Sie können dies mithilfe von Laravel-Migrationen tun. Öffnen Sie ein Terminalfenster und geben Sie den folgenden Befehl ein:

php artisan make:migration create_phone_auth_tablephp artisan make:migration create_phone_auth_table

这将创建一个新的迁移文件,您可以在其中定义新的数据库表。在Laravel中创建一个数据表的方法如下所示:

public function up()
{
    Schema::create('phone_auth', function (Blueprint $table) {
        $table->increments('id');
        $table->string('phone_number')->unique();
        $table->string('password');
        $table->timestamps();
    });
}

在此示例中,我们创建一个名为"phone_auth"的新表,其中包含"id"、"phone_number"、"password"以及"timestamps"列。请注意,我们将"phone_number"列定义为唯一的,以确保不会有重复的手机号码。

接下来,我们需要创建一个新的控制器来处理手机登录。打开终端窗口并输入以下命令:

php artisan make:controller PhoneLoginController

Dadurch wird eine neue Migrationsdatei erstellt, in der Sie Folgendes tun können Definieren Sie neue Datenbanktabellen. Die Methode zum Erstellen einer Datentabelle in Laravel ist wie folgt:

public function showLoginForm()
{
    return view('auth.phone-login');
}

public function login(Request $request)
{
    $this->validate($request, [
        'phone_number' => 'required',
        'password' => 'required',
    ]);

    $phone_number = $request->input('phone_number');
    $password = $request->input('password');

    if (Auth::attempt(['phone_number' => $phone_number, 'password' => $password])) {
        return redirect()->intended('/');
    }

    return redirect()->back()->withInput()->withErrors(['message' => 'Phone number or password is incorrect.']);
}
In diesem Beispiel erstellen wir eine neue Tabelle mit dem Namen „phone_auth“, die „id“, „phone_number“, „password“ und enthält Spalten „Zeitstempel“. Beachten Sie, dass wir die Spalte „phone_number“ als eindeutig definieren, um sicherzustellen, dass keine doppelten Telefonnummern vorhanden sind.

Als nächstes müssen wir einen neuen Controller für die mobile Anmeldung erstellen. Öffnen Sie ein Terminalfenster und geben Sie den folgenden Befehl ein:

php artisan make:controller PhoneLoginController

Öffnen Sie dann „app/Http/Controllers/PhoneLoginController .php“-Datei und fügen Sie am Ende der Datei den folgenden Code hinzu:

@extends('layouts.app')

@section('content')
    <div class="container">
        <div class="row justify-content-center">
            <div class="col-md-8">
                <div class="card">
                    <div class="card-header">{{ __('Phone Login') }}</div>

                    <div class="card-body">
                        <form method="POST" action="{{ route(&#39;phone.login&#39;) }}">
                            @csrf

                            <div class="form-group row">
                                <label for="phone_number" class="col-md-4 col-form-label text-md-right">{{ __('Phone Number') }}</label>

                                <div class="col-md-6">
                                    <input id="phone_number" type="text" class="form-control{{ $errors->has('phone_number') ? ' is-invalid' : '' }}" name="phone_number" value="{{ old('phone_number') }}" required autofocus>

                                    @if ($errors->has('phone_number'))
                                        <span class="invalid-feedback" role="alert">
                                            <strong>{{ $errors->first('phone_number') }}</strong>
                                        </span>
                                    @endif
                                </div>
                            </div>

                            <div class="form-group row">
                                <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>

                                <div class="col-md-6">
                                    <input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required>

                                    @if ($errors->has('password'))
                                        <span class="invalid-feedback" role="alert">
                                            <strong>{{ $errors->first('password') }}</strong>
                                        </span>
                                    @endif
                                </div>
                            </div>

                            <div class="form-group row mb-0">
                                <div class="col-md-6 offset-md-4">
                                    <button type="submit" class="btn btn-primary">
                                        {{ __('Login') }}
                                    </button>
                                </div>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
@endsection
In diesem Code definieren wir zwei Methoden: „showLoginForm“ und „login“. „showLoginForm“ gibt eine Ansicht zurück, die ein Formular mit zwei Textfeldern und einer Senden-Schaltfläche enthält, über die der Benutzer seine Mobiltelefonnummer und sein Passwort eingeben kann. Die Methode „login“ validiert die Eingabedaten des Benutzers und versucht, den Benutzer mithilfe der Auth-Klasse anzumelden. Bei erfolgreicher Anmeldung wird der Benutzer auf die Startseite weitergeleitet. Andernfalls erhält der Benutzer eine Fehlermeldung.

Jetzt müssen wir eine neue Ansichtsdatei „auth.phone-login“ erstellen. Erstellen Sie eine neue Datei im Ordner „Laravel/resources/views/auth“ und nennen Sie sie „phone-login.blade.php“. Denken Sie daran, dass die Blade-Engine in Laravel zum Rendern von Ansichten verwendet wird und Ihnen einige leistungsstarke Vorlagenfunktionen bietet. Fügen Sie dieser Datei den folgenden HTML- und Formularcode hinzu:

Route::get('phone-login', 'PhoneLoginController@showLoginForm');
Route::post('phone-login', 'PhoneLoginController@login')->name('phone.login');
Diese Ansicht enthält ein Formular mit zwei Textfeldern und einer Schaltfläche zum Senden, damit der Benutzer seine Handynummer und sein Passwort eingeben kann. Bitte beachten Sie, dass wir die „route“-Direktive im Formular-Tag verwenden (die Route-Direktive bietet einige praktische Funktionen, einschließlich der automatischen Generierung von URLs und HTML-Formulareingaben), um die Übermittlungsadresse des Formulars auf unsere „phone.login“-Route zu verweisen. #🎜🎜##🎜🎜#Der letzte Schritt besteht nun darin, unsere neue Route zu unserer „Web“-Routendatei hinzuzufügen. Öffnen Sie die Datei „routes/web.php“ und fügen Sie am Ende der Datei den folgenden Code hinzu: #🎜🎜#rrreee#🎜🎜#Dadurch werden zwei neue Routen hinzugefügt: die POST-Routen „phone-login“ und „phone-login“. . Die erste Route wird verwendet, um ein Formular zu erstellen, in das der Benutzer seine Mobiltelefonnummer und sein Passwort eingeben kann. Die zweite Route übernimmt die Übermittlung des Formulars und validiert die Eingabedaten des Benutzers. #🎜🎜##🎜🎜#Herzlichen Glückwunsch, jetzt haben Sie das Laravel-Anmeldesystem erfolgreich auf mobile Anmeldung umgestellt. Bitte beachten Sie, dass es sich lediglich um eine einfache Implementierung handelt, die Sie je nach Bedarf ändern und erweitern können. Sie können weitere Felder wie E-Mail und Bestätigungscode hinzufügen, um eine bessere Benutzererfahrung zu bieten. #🎜🎜#

Das obige ist der detaillierte Inhalt vonLassen Sie uns darüber sprechen, wie Sie das Laravel-Anmeldesystem auf mobile Anmeldung umstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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