laravel 获得上一个路由地址(带参数)技巧

laravel 获得上一个路由地址(带参数)技巧

有时候我们在编辑等操作中会有返回上一个之类的需求,我们就可以利用laravel
的url()方法

dd(url()->previous());//获得上一个页面路由地址

打印结果如下:
在这里插入图片描述

实际模板中可以直接这样写(返回上一页)

<a href="{{url()->previous()}}" class="btn btn-info">返回</a>

但是如果涉及到编辑操作的话,此方法有bug(因为执行修改后返回上一页还是加载修改的方法),解决方法如下

//加载修改模板方法
public function edit(Request $request,$id)
    {
       if(!session('success') && !session('error')){//因为执行修改后返回一个session,用于判断
            $request->session()->put('page',url()->previous());
       }

        $row=DB::table('shop_cate')->where('cat_id','=',$id)->first();
        return view('admin.Cate.edit',['row'=>$row]);//加载修改模板
    }
//执行修改
 public function erupdate(Admincateupdate $request){
  		...
        if(false !== DB::table('shop_cate')->where('cat_id',$id)->update($data)){
            return back()->with('success','修改成功');
        }
        return back()->with('error','修改失败');
    }
  //模板
  <a href="{{session('page')}}" class="btn btn-info">返回</a>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Laravel 中,可以使用 Laravel的身份认证系统来实现用户的登录和注册功能。下面是一个示例: 1. 首先,确保你已经安装了 Laravel。然后,在终端中进入你的项目目录并运行以下命令来创建一个基本的身份认证系统: ``` php artisan make:auth ``` 2. 运行完上述命令后,Laravel 会自动生成一些视图和路由文件,用于实现用户注册和登录功能。 3. 打开 `resources/views/layouts/app.blade.php` 文件,将其中的导航栏代码替换为以下代码: ``` <nav class="navbar navbar-expand-lg navbar-light bg-light"> <a class="navbar-brand" href="{{ url('/') }}">{{ config('app.name', 'Laravel') }}</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}"> <span class="navbar-toggler-icon"></span> </button> <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"> <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> </nav> ``` 该代码会在导航栏上添加一个登录和注册按钮。 4. 然后,打开 `routes/web.php` 文件,确保其中包含以下路由: ``` Auth::routes(); Route::get('/home', 'HomeController@index')->name('home'); ``` 5. 最后,在你需要用户登录或注册的视图文件中,使用 `@guest` 和 `@endguest` Blade 指令包裹起来的 HTML 代码块,来显示登录和注册表单。例如,以下代码片段可以用于显示登录表单: ``` @guest <form method="POST" action="{{ route('login') }}"> @csrf <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="{{ 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"> <div class="col-md-6 offset-md-4"> <div class="form-check"> <input class="form-check-input" type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}> <label class="form-check-label" for="remember"> {{ __('Remember Me') }} </label> </div> </div> </div> <div class="form-group row mb-0"> <div class="col-md-8 offset-md-4"> <button type="submit" class="btn btn-primary"> {{ __('Login') }} </button> @if (Route::has('password.request')) <a class="btn btn-link" href="{{ route('password.request') }}"> {{ __('Forgot Your Password?') }} </a> @endif </div> </div> </form> @endguest ``` 类似地,你也可以使用 `@auth` 和 `@endauth` Blade 指令来包裹需要用户已登录才能查看的 HTML 代码块。 希望这个示例能够帮助你实现用户的登录和注册功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小阿巳

你的鼓励就是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值