php - 右导航栏错误,未在 Laravel 中进行身份验证
问题描述
在我的网络应用程序中,我创建了一个个人资料部分。但问题是当它进入右侧导航栏中的仪表板时,它有我的个人资料和注销。当我单击我的个人资料 - > 在我的个人资料页面中时,右侧导航栏变为注册并登录,而不是名称和注销。我认为存在一些身份验证问题。请建议如何解决它。检查屏幕截图也可以更好地理解。
app.blade.php
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<!-- Left Side Of Navbar -->
<ul class="navbar-nav mr-auto">
</ul>
<!-- Right Side Of Navbar -->
<ul class="navbar-nav ml-auto">
<!-- Authentication Links -->
@guest
<li class="nav-item">
<a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
</li>
@if (Route::has('register'))
<li class="nav-item">
<a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
</li>
@endif
@else
<li class="nav-item dropdown">
<a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
{{ Auth::user()->name }} <span class="caret"></span>
</a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
@auth
<a class="dropdown-item" href="{{ route('profiles.show', Auth::user()->profile->id) }}">
My Profile
</a>
@endauth
<a class="dropdown-item" href="{{ route('logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
{{ __('Logout') }}
</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
@csrf
</form>
</div>
</li>
@endguest
</ul>
</div>
</div>
配置文件/show.blade.php
@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">
{{ $profile->name }}
</div>
<div class="card-body">
<form id="update-profile-form" action="{{ route('profiles.update' , $profile->id) }}" method="POST" enctype="multipart/form-data">
@csrf
@method('PATCH')
<div class="form-group row justify-content-center">
<div class='profile-avatar'>
<div onclick="document.getElementById('image').click()" class="profile-avatar-overlay">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 32 32">
<path d="M18 22.082v-1.649c2.203-1.241 4-4.337 4-7.432 0-4.971 0-9-6-9s-6 4.029-6 9c0 3.096 1.797 6.191 4 7.432v1.649c-6.784 0.555-12 3.888-12 7.918h28c0-4.030-5.216-7.364-12-7.918z"></path>
</svg>
</div>
<img src="{{ URL::to('image/' .$profile->image()) }}" alt="" >
</div>
</div>
<input onchange="document.getElementById('update-profile-form').submit()" style="display: none;" id="image" type="file" name="image">
<div class="form-group">
<label for="name" class="form-control-label">
Name
</label>
<input id="name" name="name" value="{{ $profile->name }}" type="text" class="form-control">
</div>
<div class="form-group">
<label for="description" class="form-control-label">
Description
</label>
<textarea name="description" id="description" rows="3" class="form-control">{{ $profile->description }}</textarea>
</div>
<button type="submit" class="btn btn-info">
update profile
</button>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
配置文件控制器.php
class ProfileController extends Controller
{
public function show(Profile $profile)
{
return view('profiles.show', compact('profile'));
}
public function update(Request $request, Profile $profile)
{
if ($request->hasFile('image'))
{
$profile->clearMediaCollection('images');
$profile->addMediaFromRequest('image')
->toMediaCollection('images');
}
return redirect()->back();
}
}
解决方案
推荐阅读
- mysql - 了解自联接 (SQL) 中 ON 子句的顺序
- mongodb - Mongo:更新文档和添加/更新 lastModified
- neural-network - 第一个神经网络,麻烦(
- javascript - Microsoft Bot Framework 语音识别网络聊天集成
- r - 从海洋数据中识别和提取剖面的 R 函数?
- r - 为什么 R 将此 data.frame 对象视为列表?
- swift - SwiftUI - NavigationLink 内的 NavigationLink 错误
- java - 如何挑选出缺少哪个 Java 类定义/要导入哪些依赖项?
- javascript - 如何使用AngularJS删除指令内的类?
- image-processing - 使用 FFmpeg 将 JPEG 图像序列无损合并到网格中