【问题标题】:Laravel Auth Reset Password Function View doesnt workLaravel Auth 重置密码功能视图不起作用
【发布时间】:2018-09-14 11:25:09
【问题描述】:

我做了这个:

php artisan make:auth

一切正常,所以我可以注册用户并登录。

如果我点击忘记密码,它会将我重定向到 /password/reset,但它显示的是一个空白页面?

我不知道为什么,因为我有所有文件,但我不知道这里发生了什么。

我在哪里可以看到认证路由?

在我的 web.php 中,我只做这个:

Auth::routes();

我正在使用 Laravel 5.6。

如果我这样做了

php artisan route:list

这些是我的认证路线

     |
|        | POST      | login                             |                    |
App\Http\Controllers\Auth\LoginController@login                        | web,guest      |
|        | GET|HEAD  | login                             | login              |
App\Http\Controllers\Auth\LoginController@showLoginForm                | web,guest      |
|        | POST      | logout                            | logout             |
App\Http\Controllers\Auth\LoginController@logout                       | web
        |
|        | POST      | password/email                    | password.email     |
App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail  | web,guest      |
|        | POST      | password/reset                    |                    |
App\Http\Controllers\Auth\ResetPasswordController@reset                | web,guest      |
|        | GET|HEAD  | password/reset                    | password.request   |
App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm | web,guest      |
|        | GET|HEAD  | password/reset/{token}            | password.reset     |
        |
|        | GET|HEAD  | register                          | register           |
App\Http\Controllers\Auth\RegisterController@showRegistrationForm      | web,guest      |
|        | POST      | register                          |                    |
App\Http\Controllers\Auth\RegisterController@register             web,guest      |
        |
|        | GET|HEAD  | user/verify/{token}               |                    |
App\Http\Controllers\Auth\RegisterController@verifyUser                | web,auth,guest |

所以我有我所有的重置路线

但我在我的环境中看到我没有任何密码/重置

这是我的环境文件

APP_NAME=Laravel

APP_ENV=local

APP_KEY=base64:KAZ1F3lzqe6oG3XkXT06ZQ6MYoQZibd7vaHDLCq8CvY=
APP_DEBUG=true

APP_URL=http://localhost


LOG_CHANNEL=stack

DB_CONNECTION=mysql

DB_HOST=127.0.0.1
DB_PORT=3306

DB_DATABASE=j4y

DB_USERNAME=root

DB_PASSWORD=

BROADCAST_DRIVER=log

CACHE_DRIVER=file

SESSION_DRIVER=file

SESSION_LIFETIME=120

QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1

REDIS_PASSWORD=null

REDIS_PORT=6379   

MAIL_DRIVER=smtp

MAIL_HOST=smtp.mailtrap.io

MAIL_PORT=2525

MAIL_USERNAME=b3f31fa6ba1f07
MAIL_PASSWORD=635d101e8896d8
MAIL_ENCRYPTION=null    

PUSHER_APP_ID=
PUSHER_APP_KEY=

PUSHER_APP_SECRET=

PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"

MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

它看起来怎么样?

这是我的视图文件:

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="{{ asset('css/style.min.css') }}" rel="stylesheet">
    <meta name="csrf-token" content="{{ csrf_token() }}">
    <title>Passwort vergessen</title>
</head>
<body>
@if (session('status'))
    <div class="alert alert-success">
        {{ session('status') }}
    </div>
@endif
@if (session('warning'))
    <div class="alert alert-warning">
        {{ session('warning') }}
    </div>
@endif

@include('layouts.app')
@include('partials.userhead')
<section>
<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-8">
            <div class="card">
                <div class="card-header">{{ __('Reset Password') }}</div>

                <div class="card-body">
                    <form method="POST" action="{{ route('password.request') }}" aria-label="{{ __('Reset Password') }}">
                        @csrf
                        <input type="hidden" name="token" value="{{ $token }}">


                       <div class="form-group row">
                                <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>
                                <div class="col-md-6">
                                    <input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ $email ?? old('email') }}" required autofocus>
                                    @if ($errors->has('email'))
                                        <span class="invalid-feedback" role="alert">
                                            <strong>{{ $errors->first('email') }}</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">
                                <label for="password-confirm" class="col-md-4 col-form-label text-md-right">{{ __('Confirm Password') }}</label>
                                <div class="col-md-6">
                                    <input id="password-confirm" type="password" class="form-control" name="password_confirmation" required>
                                </div>
                            </div>
                            <div class="form-group row mb-0">
                                <div class="col-md-6 offset-md-4">
                                    <button type="submit" class="btn btn-primary">
                                        {{ __('Reset Password') }}
                                    </button>
                                </div>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
    </section>
    @include('partials.footer')

【问题讨论】:

  • php artisan routes:list 会显示所有路由的列表
  • 您是否更改了任何身份验证视图?你都拥有了吗?
  • 是否在.env 文件中进行调试?您的视图文件如何查找/password/reset
  • 所以路线没问题,但我认为这是因为我的 .env 我更新了我的帖子,所以这里有什么问题?
  • 我找不到这个文件:Illuminate\Foundation\Auth\SendsPasswordResetEmails;这是问题吗??我在文件夹中,但没有类似的文件

标签: laravel authentication


【解决方案1】:

我的 app.blade.php 中没有这个,因为我修改了这个文件

<main class="content">
    @yield('content')
</main>

现在可以了

【讨论】:

    猜你喜欢
    • 2014-12-17
    • 1970-01-01
    • 1970-01-01
    • 2019-01-28
    • 2021-03-24
    • 2015-07-01
    • 2018-06-04
    • 1970-01-01
    • 2020-11-05
    相关资源
    最近更新 更多