在laravel刀片php的PHP代码

问题描述 投票:1回答:3

我试图在我的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"]; ?>"
            >
php laravel laravel-5 laravel-5.2 laravel-blade
3个回答
0
投票

代替:

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

只需使用:

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

即使您可以使用@php ... @endphp指令,也不应在Blade中使用PHP代码


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块代码来解决问题标题。


-1
投票

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

value="{{ request('tname') }}"
© www.soinside.com 2019 - 2024. All rights reserved.