【问题标题】:Laravel 5.3 - Blade not workingLaravel 5.3 - 刀片不工作
【发布时间】:2017-05-23 09:17:10
【问题描述】:

当我尝试在网络浏览器上加载我的项目时。它显示页眉和页脚,但缺少包含表单的中间部分,我不明白我做错了什么?

views/welcome.blade:

<!DOCTYPE html>
<html lang="en">
<head>
@include('partials._head')
</head>
<body>
         @include('partials._nav')


         <div class="container">

         @include('partials._messages')
         @yield('content')
         @include('partials._footer')

         </div>


         @include('partials._javascript')

 </body>
 </html>

views/user_auth/user_register.blade:

@extends('welcome')

@section('title')
Welcome!!
@endsection

@section('content')

{!! Form::open(['route' => 'signup']) !!}

{{ Form::label('user_name','Name:') }}
{{ Form::text('user_name',null,['class' => 'form-control']) }}

{{ Form::label('email','E-mail:') }}
{{ Form::text('email',null,['class' => 'form-control']) }}

{{ Form::label('mobile_num','Mobile No.:') }}
{{ Form::text('mobile_num',null,['class' => 'form-control']) }}

{{ Form::label('address','Address:') }}
{{ Form::text('address',null,['class' => 'form-control']) }}

{{ Form::label('state','State:') }}
{{ Form::text('state',null,['class' => 'form-control']) }}

{{ Form::label('city','City:') }}
{{ Form::text('city',null,['class' => 'form-control']) }}

{{ Form::label('district','District:') }}
{{ Form::text('district',null,['class' => 'form-control']) }}


{{ Form::submit('Register',array('class' => 'btn btn-success btn-lg btn-  block form-spacing-top')) }}

{!! Form::close() !!}
@endsection

注册控制器:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class RegisterController extends Controller
{

public function getRegistrationPage()
   {  

         return view('user_auth.user_register');
   }
public function postSignUp(Request $request)
 {
    $this -> validate($request,[  
      'email' => 'required|email|unique:users',
      'name'  => 'required|max:20',
      'mobile_num' => 'required|digits:10',
      'address' => 'required',
      'city' => 'required',
      'district' => 'required',
      'state' => 'required',
      'password' => 'required|min:4'
      ]);

    $email = $request['email'];
    $name = $request['name'];
    $mobile_num = $request['mobile_num'];
    $address = $request['address'];
    $city = $request['city'];
    $district = $request['district'];
    $state = $request['state'];
    $password = bcrypt($request['password']);

    $user = new User();
    $user->email =$email;
    $user->name = $name;
    $user->mobile_num = $mobile_num;
    $user->address = $address;
    $user->city = $city;
    $user->district = $district;
    $user->state = $state;
    $user->password = $password;

    $user->save();

    return redirect()->route('dashboard');

    Auth::login($user);
 }

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

   if(Auth::attempt(['mobile_num' => $request['mobile_num'], 'password' =>  $request['password']]))  {

        return redirect()->route('dashboard');
    }

        return redirect()->back();          
  }

  public function getDashboard()
   {  

         return view('pages.dashboard');
   }


  }

路由/web.php:

Route::group(['middleware' => ['web']], function(){

Route::get('/', function () {
    return view('welcome');
})->name('home');

Route::post('/signup',[
    'uses' => 'RegisterController@postSignUp',
    'as'   => 'signup'
    ]);

Route::post('/signin',[
    'uses' => 'RegisterController@postSignIn',
    'as'   => 'signin'
    ]);

Route::get('/dashboard',[
     'uses' => 'RegisterController@getDashboard',
     'as'   => 'dashboard',
     'middleware' => 'auth'
    ]);
Route::get('/register',[
     'uses' => 'RegisterController@getRegistrationPage',
     'as'   => 'register',
     'middleware' => 'auth'
    ]);

});

【问题讨论】:

    标签: laravel blade


    【解决方案1】:

    您需要返回user_register 视图,该视图应为extend layout(在本例中称为welcome):

    @extends('welcome')
    

    或者您可以拨打welcomeincludeuser_register查看:

    @include('user_auth.user_register')
    

    这取决于您想要实现的目标,但将 welcome 重命名为 layout 并在此处扩展它看起来是正确的解决方案。

    还将文件重命名为 .blade.php,因为现在名称类似于 welcome.blade 而不是 welcome.blade.php

    【讨论】:

    • 请再次检查代码,我编辑了它。我已经使用了“@extends('welcome')”,抱歉一开始没有在这里添加。
    • 你有什么错误吗?请显示返回视图的控制器方法。
    • 不,没有一个错误。只是缺少表单区域。是的,我还添加了控制器代码,请看一下。
    • 刚刚又加了一次,抱歉我的网络不能正常工作。
    • 我没有看到应该加载视图的代码。你应该使用适当的方法return view('user_auth.user_register');
    【解决方案2】:

    您的代码是正确的,但请检查您的路由文件您是否调用了 user_register 路由? 您已将欢迎页面设置为布局文件,因此当您调用欢迎页面时,它仅显示您包含的页眉和页脚文件。

    【讨论】:

    猜你喜欢
    • 2016-09-09
    • 2014-02-23
    • 2015-04-14
    • 2017-10-05
    • 2019-01-31
    • 1970-01-01
    • 2017-07-10
    • 2018-02-28
    • 2017-08-18
    相关资源
    最近更新 更多