在laravel刀片php的PHP代码

时间:2017-12-24 08:43:30

标签: php laravel laravel-5 laravel-5.2 laravel-blade

我尝试在我的laravel登录表单中添加<?php echo $_GET["tname"] ?>以将其用作https://example.com/?tname=test来获取自动填充值,但是当我尝试添加它时,它会说

  

糟糕,看起来出了问题。

任何人都可以告诉我如何在其中使用该代码 这是我的laravel登录页面代码:

<form class="" role="form" method="POST" action="{{ url('/login') }}">
    <div class="panel panel-body">
        <h4 class="text-semibold mt-0">{{ trans('messages.login') }}</h4>

        <div class="form-group has-feedback has-feedback-left{{ $errors->has('email') ? ' has-error' : '' }}">
            <input id="email" type="email" class="form-control" name="email" placeholder="{{ trans("messages.email") }}"
                 value="<?php echo $_GET["tname"]; ?>"
            >

3 个答案:

答案 0 :(得分:0)

而不是:

<?php echo $_GET["tname"]; ?>

只需使用:

{{ request()->input('tname') }}

即使您可以使用@php ... @endphp指令

,也不应在Blade中使用PHP代码

答案 1 :(得分:0)

如果您想明确使用PHP代码块,可以在刀片代码@php / 一些常规PHP代码 / @endphp中使用它,在您的情况下,它可能是:

<form class="" role="form" method="POST" action="{{ url('/login') }}">
    <div class="panel panel-body">
        <h4 class="text-semibold mt-0">{{ trans('messages.login') }}</h4>

        @php
            $a = 5;
            $b = ['a', 'b', 'c'];
            $c = isset($_GET['tname']) ? $_GET['tname'] : null;
        @endphp
        <div class="form-group has-feedback has-feedback-left{{ $errors->has('email') ? ' has-error' : '' }}">
            <input id="email" type="email" class="form-control" name="email" placeholder="{{ trans("messages.email") }}"
             value="{{ $c }}">

当然,使用没有PHP输入卫生的GET变量也不会太聪明,这就是@MarcinNabiałek和@AlexeyMazenin答案正确的原因。我在这里只是指出如何在刀片中使用PHP块代码来解决问题标题。

答案 2 :(得分:-1)

您可以使用request()帮助程序获取URI参数:

value="{{ request('tname') }}"