Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Здравствуйте.
Только начал изучать Laravel (это мой первый фреймворк в принципе) и почти сразу столкнулся с трудностью.
Создаю простую форму с одним текстовым полем и кнопкой отправки (Без помощи Laravel) в файле представления test.php, который вызывается из контроллера "MyFirstController".
В файле routes.php пишу (в форме: action="act_form"):
Route::post('test/act_form', function()
{
return "Форма обработана!";
});
Но мне выводиться ошибка.
Я пробовал вместо "Route::post('test/act_form', ..." писать "Route::post('act_form', ...", всё-равно не помогает.
Подскажите, как правильно отлавливать форму из routes.php.
Весь файл routes.php, на всякий случай:
<?php
Route::get('/', function()
{
return "Hello!";
});
Route::get('test', 'MyFirstController@test');
Route::post('test/act_form', function()
{
return "Форма обработана!";
});
Изменено Rusl (17.03.2015 12:02:44)
Не в сети
Перепроверьте, на какой адрес идёт отправка формы (просто в адресной строке посмотрите) и точно ли форма отправляется методом POST. И покажите форму саму.
Не в сети
Форма у меня сделана стандартно:
<form action='act_form' method='POST'>
<input type='text' id='txt' />
<input type='submit' value='Отправить' />
</form>
Сначала пишу в адресной строке: http://localhost:8000/test Мне показывается форма. Ввожу данные, отправляю, в адресной сроке пишется: http://localhost:8000/test/act_form
Я пробовал в маршруте писать и Route::post и Route::get и даже any. Всё-равно не помогает, выводит сообщение "Whoops, looks like something went wrong."
Не в сети
Смотрите описание ошибки после:
"Whoops, looks like something went wrong."
Предположительно: не отправлен токен
Добавьте поле:
<input type="hidden" value="{!! csrf_token() !!}" name="_token">
либо:
<input type="hidden" value="<?=csrf_token()?>" name="_token">
если не используете blade
Изменено Goshik (17.03.2015 13:06:45)
Не в сети
Не в сети
Не в сети
Goshik, токен можно экранировать, не надо использовать {!! ... !!} без особой необходимости
Согласен
Изменено Goshik (17.03.2015 13:09:07)
Не в сети
А его (токен) надо где-то применять при обработке? а то у меня всё-так же пока, с ошибкой.
Не в сети
Не в сети
А почему ошибка всё-ещё появляется? неужели что-то не так делаю??
Не в сети
Не в сети
нет, теперь пишет: "Sorry, the page you are looking for could not be found." А как проверить вкл. ли отладочный режим?
Не в сети
Всё, разобрался!!) В роуте эксперементируя убрал "test/" из адреса. Добавил, получилось:
Route::post('test/act_form', function()
{
return "Форма обработана!";
});
Всем спасибо!!!!
Не в сети
Страницы 1