#php #laravel #forms
#php #laravel #формы
Вопрос:
Я пытаюсь получить данные из своей формы в Laravel 8. В этой форме я пытаюсь записать информацию от пользователя и отправить ее с помощью json. Мои формы выглядят так:
<form action="/profile" method="get" enctype="application/json">
<label for="name">Player name</label>
<input type="text" id="name" value="{{ $data->name }}">
<label for="from">The lowest number</label>
<input type="number" id="from" value="{{ $data->from }}">
<label for="to">The highest number</label>
<input type="number" id="to" value="{{ $data->to }}">
<label for="attempts">Number of attempts</label>
<input type="number" id="attempts" value="{{ $data->attempts }}">
<button type="submit">Save</button>
</form>
У меня есть контроллер для этого и для действия=»/profile»:
namespace AppHttpControllersGame;
use AppHttpControllersController;
use AppModelsUser;
use IlluminateContractsViewView;
use IlluminateHttpRequest;
class UserController extends Controller
{
public function store(Request $request)
{
$data = $request;
return view('newUser', [
'data' => $data
]);
}
public function profile(Request $request)
{
$data = $request->all();
dd($request->all());
return response($data)
->header('Content-Type', 'application/json');
}
}
И мои Маршруты:
Route::get('/new', 'UserController@store')
->name('user.store');
Route::get('/profile', 'UserController@profile')
->name('user.profile');
Проблема в том, что я думаю, что получу значения из этой формы, но $request-> all() — это только пустой массив. Я не знаю, чего мне не хватает. Как получить эти данные?
Спасибо за помощь.
Комментарии:
1. Разве вы не поставили кнопку «отправить» или отправляете ее с помощью JS?
2. Раньше у меня была кнопка type=»submit», но ничего не изменилось. Я добавил его в свой код и все тот же пустой массив. Я отредактирую его в своем вопросе.
3. Вы включили поле csrf в тег формы?
4. Я добавил это сейчас, забудьте об этом. После этого, когда я отправляю свою форму, я сгенерировал токен в своем массиве, но больше ничего, по-прежнему без каких-либо значений из входных данных.
Ответ №1:
Вы должны установить атрибут ‘name’ во входных данных:
<input type="text" id="name" name="name" value="{{ $data->name }}">