Reputation: 77
I m trying to add <?php echo $_GET["tname"] ?>
in my laravel login form to use it as this https://example.com/?tname=test
to get it auto-filled value, but when ever i try to add it it says
Whoops, looks like something went wrong.
Can anyone tell me how to use that code in it.
Here's my laravel login page code:
<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"]; ?>"
>
Upvotes: 1
Views: 4731
Reputation: 7111
If you want to use PHP code block explicitly, you can use it within blade tags @php
/some regular PHP code/ @endphp
and in your case it could be:
<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 }}">
Of course, using GET variable without PHP input sanitation wouldn't be much smart and that's why @MarcinNabiałek and @AlexeyMazenin answers are correct. I am here just pointing of how would you use PHP block code in blade regarding question title.
Upvotes: 0
Reputation: 163748
You can just use the request()
helper to get URI parameter:
value="{{ request('tname') }}"
Upvotes: -1
Reputation: 111829
Instead of:
<?php echo $_GET["tname"]; ?>
just use:
{{ request()->input('tname') }}
You should not use PHP code in Blade even you can use @php ... @endphp
directives
Upvotes: 2