Пустая форма (PHP, Laravel)
Смотрю по видеоурокам как сделать форму. Собственно вот она:
<form action="{{ route('contact-form') }}" method="post">
<div class="row">
<div class="col-md-12">
<div class="row">
<div class="col-md-6">
@csrf
<div class="form-group">
<input type="text" class="form-control" id="name" placeholder="Name">
</div>
<div class="form-group">
<input type="text" class="form-control" id="email" placeholder="Email">
</div>
<div class="form-group">
<input type="text" class="form-control" id="phone" placeholder="Phone">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<textarea name="" id="message" cols="30" rows="7" class="form-control" placeholder="Message"></textarea>
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary btn-md" value="Send Message">
</div>
</div>
</div>
</div>
</div>
</form>
А вот файл web.php
<?php
use Illuminate\Support\Facades\Route;
---> Немного сократил тут код, чтобы было легче прочитать
Route::get('/contact', function () {
return view('contact');
});
Route::post('/contact/submit', 'ContactController@submit')->name('contact-form');
Сам ContactController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ContactController extends Controller
{
public function submit(Request $req) {
dd($req);
}
}
И выдает только токен:
Почему не присылает остальные input (name, email, phone, message) Только осваиваю Laravel, подскажите что делать, пожалуйста.
Ответы (2 шт):
Автор решения: Yury Plinto
→ Ссылка
Насколько я знаю, обработчик формы идентифицирует поля формы по значению атрибута name, а не id (это не особенность Laravel, так работают все HTML-формы). У Вас этого атрибута нет. Может быть, дело в этом.
Автор решения: AlexZelenskiy
→ Ссылка
У Вас input-ы не идентифицированы - добавьте аттрибут name в каждый input:
<input type="text" class="form-control" id="name" placeholder="Name" name='name'>
<input type="text" class="form-control" id="email" placeholder="Email" name='email'>
и т.д.
