#php #laravel
#php #laravel
Вопрос:
Я установил последнюю версию laravel. Я создал эту простую форму. Я хочу создать, post
но когда я отправляю, это переходит к localhost/post
неправильному URL
. Фактическое URL
это http://localhost/laravel_practice/
‘
Форма
<form method="post" action="/post">
<div class="form-group">
<label>Title</label>
<input type="text" name="title" class="form-control" placeholder="Enter Title Here">
</div>
<div class="form-group">
<label>Body</label>
<textarea name="body" class="form-control" placeholder="Enter the body"></textarea>
</div>
<div class="form-group">
<input type="submit" name="sumit" class="btn btn-primary" value="Publish">
</div>
Мои маршруты
Route::get('/' ,'PostController@index');
Route::get('/posts/create', 'PostController@create');
Route::post('/post','PostController@store');
Комментарии:
1. Пожалуйста, проверьте себя, задайте еще один вопрос
2. Присвойте вашему маршруту имя, используйте это, чтобы получить свой маршрут: laravel.com/docs/5.8/helpers#method-route
Ответ №1:
Ваше краткое исправление заключается в использовании action="/laravel_practice/post"
or action="/laravel_practice/public/post"
в зависимости от того, по какому URL вы хотите перейти.
Однако это плохая практика. Вы должны использовать название маршрута. Для этого дайте любое имя маршруту, как показано ниже,
Route::post('/post','PostController@store')->name('post.store');
Тогда для просмотра вам следует использовать,
<form method="post" action="{{ route('post.store') }}">
Чтобы узнать больше об именованном маршруте, вы можете просмотреть этот документ.