在 Laravel 5 中显示为纯文本的表单

Forms showing up as plain text in Laravel 5

我对 Laravel 宇宙还很陌生。

所以我在学习 OpenClassrooms 教程,该教程是关于 Laravel 4 的,我正在使用 Laravel 5,所以我在尝试调整我的控制器并让它们工作时遇到了一些麻烦在我的项目中,在消除了许多关于名称空间依赖性的错误之后,我得到了一个看起来像文本 html 的未处理的表单,这是显示的内容:

<form method="POST" action="http://gappsl/users" accept-charset="UTF-8">
  <input
    name="_token"
    type="hidden"
    value="HMfnLvctXZqOuCpSdeJXML76L2KoPsZtadpIqOnm">
  <label for="nom">Enter your name:</label>
  <input name="nom" type="text" id="nom">
  <input type="submit" value="Submit">
</form>

这是我的控制器:

<?php namespace App\Http\Controllers; use \View; 
  class UsersController extends Controller {
    public function getInfos() {
      return View::make('infos');
    }

    public function postInfos() {
      echo 'The name is ' . Input::get('nom');
    }
  }
?>

这是我的观点:

@extends('tempform')
@section('content') {{ Form::open(array('url'=>'users')) }} {{ Form::label('nom', 'Enter your name:') }} {{ Form::text('nom') }} {{ Form::submit('Submit') }} {{ Form::close() }}
@stop

<!doctype html>
<html lang="fr">
  <head>
    <meta charset="UTF-8">
  <body>
    <p> @yield('content') </p>
  </body>
</html>

希望你能帮助我。

在Laravel 5中,{{ }}(例如{{ Form::open() }}转义blade模板中的变量。

在Laravel 5中,改用{!! Form::open() !!}。此外,仔细检查它是否确实是您正在使用的 blade 模板(而不是直接 PHP 模板)。

对于 Laravel 框架版本 5.2.34 这对我有用

{!! Form::open(array('url' => '/admin/expertise')) !!}

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

有一个 { 和两个 !! .