返回重定向到页面后,变量不会显示在视图页面上

时间:2016-11-03 09:19:18

标签: laravel-5.3

在控制器中我有这个代码。当我想在视图上显示公司变量时,它会给出错误。 这是我的控制者。

public function login(Request $request){
    $email = $request->input('email');
    $password = $request->input('password');
    $validation = array(
    'email' =>'required',
    'password' => 'required');
    //dd($email);
    $validator = Validator::make($request->all(), $validation);
    if ($validator->fails()) {
        $messages = $validator->messages();
        return redirect('login_with_assismo')
                    ->withErrors($validator)
                    ->withInput(Input::except('password'));
    } else {
        $admin = DB::table('admin')
                    ->where('email',$email)
                    ->where('password', $password)
                    ->where('is_admin', 1)
                    ->first();
        if (!empty($admin)) {
             $company = DB::table('company_details')
                           ->where('id', $admin->company_id)
                           ->pluck('company_name');
             if (!empty($company)) {
                  return redirect('company_details')->with('company', $company);                  
              } 

           }   
        }
}

这是我的观点

<input type="text" name="company_name" class="form-control" placeholder="Company name" value = "{{ company }}">

执行此代码时出现错误:  使用未定义的常量company_name - 假设&#39; company_name&#39; (查看:/opt/lampp/htdocs/assismo/resources/views/company_details.blade.php)

1 个答案:

答案 0 :(得分:0)

未定义的常量错误意味着您可能尝试了类似

的内容
<div><!-- or other html -->
  {{ company_name}}
</div><!-- ... -->

即使它应该是

<div><!-- or other html -->
  {{ $company_name}}
</div><!-- ... -->

但是,似乎你根本没有返回公司名称变量,所以可能它应该是

<div><!-- or other html -->
  {{ $company }}
</div><!-- ... -->

补充说明:

您的代码非常不安全。你永远不应该在富有成效的环境中使用它。你不要加密密码或任何东西。实际上,您的密码看起来很简单。

您还应该考虑编写自己的请求(php artisan:make request)并在其他地方移动验证。

我也没有看到在这里使用DB Facade而不是您感兴趣的实际对象的理由。