自定义登录更新详细信息在Laravel 5.4中

时间:2018-02-07 13:28:05

标签: php laravel laravel-5

我正在尝试在自定义登录时更改或更新用户详细信息。我有一个名为student_table的表。有一些学生的详细信息。使用邮件地址和密码,我可以登录仪表板。但在仪表板中有一个名为设置页面的页面。设置页面我想更新电话,地址和密码。但在尝试或我点击该页面时,该页面显示为空白页面。图像在下面,有什么错误或建议更新控制器代码?

enter image description here

我的控制器代码

public function student_settings()

    {
        $student_id = Session::get('student_id');
        $viewData = saveStudent::select('*') 
        -> where('student_id', $student_id)
        -> first();

       return view('student_settings', compact('viewData'));


    }

查看页面代码

@extends('student_layout')

@section('content')

   <div class="content-wrapper">
          <div class="row">
            <div class="col-12 col-lg-6 grid-margin">
                  <div class="card">
                      <div class="card-body">
                          <h2 class="card-title">Update Your Details

 @if(count($errors) > 0)
@foreach($errors ->all() as $error)

              <div class="alert alert-danger">{{ $error }} </div>

          @endforeach
          @endif


      @if(count($viewData)> 0)

  @foreach($viewData -> all() as $singleData)           

     <form class="forms-sample" method="post" action="">

        {{csrf_field()}}



                              <div class="form-group">

                                  <label for="exampleInputEmail6">Student Phone</label>

                                  <input type="text" id="exampleInputEmail6" class="form-control p-input" name="student_phone" placeholder="Enter PhoneNumber" value="{{$singleData->student_phone}}">

                              </div>

                              <div class="form-group">

                                  <label for="exampleInputEmail7">Student Address</label>

                                  <input type="text" id="exampleInputEmail7" class="form-control p-input" name="student_address" placeholder="Enter Address" value="{{$singleData->student_address}}">
                              </div>

                               <div class="form-group">

                                  <label for="exampleInputEmail7">Student Password</label>

                                  <input type="password" id="exampleInputEmail7" class="form-control p-input" name="student_address" placeholder="Enter Address" value="{{$singleData->student_password}}">
                              </div>



                              <button type="submit" class="btn btn-success">Update</button>
                          </form>
                          @endforeach
                          @endif
                      </div>
                  </div>
              </div>
          </div>

        </div>

@endsection

3 个答案:

答案 0 :(得分:0)

在您看来,在呈现表单之前,您需要检查 $ viewData 中是否包含内容。您的 $ viewData 变量未返回任何内容。 检查控制器中的选择代码

有关此处选择查询的详情:https://laravel.com/docs/5.4/queries#retrieving-results

我希望这会有所帮助。

答案 1 :(得分:0)

我可以看到您的View page Code 在视图页面中,您错过<form>标记中的路由操作,因此请添加以下操作。

action="{{ route('student_settings', $singleData->id) }}"

答案 2 :(得分:0)

必须像student_in一样从studentLogin Controller传递student_id,
 session(['student_id' => $take->student_id]);