За последние 24 часа нас посетили 10511 программистов и 752 робота. Сейчас ищут 168 программистов ...

Помогите найти ошибку в коде отправки формы

Тема в разделе "Laravel", создана пользователем wezar, 6 фев 2020.

  1. wezar

    wezar Активный пользователь

    С нами с:
    7 авг 2013
    Сообщения:
    8
    Симпатии:
    0
    В чем-то недочет спрятался. Код вроде бы верный, но форма с данными не отправляется, вообще при нажатии на кнопку "оправить" ничего не происходит.

    контроллер:

    PHP:
    1. public function store(Request $request)
    2.     {
    3.         $post = new post();
    4.         $post->title = $request->title;
    5.         $post->short_title = Str::length($request->title) > 30 ? Str::substr($request->title, 0, 30) . '...' : $request->title;
    6.         $post->descr = $request->descr;
    7.         $post->author_id = rand(1,10);
    8.         if ($request->file('img')) {
    9.             $path = Storage::putFile('public', $request->file('img'));
    10.             $url = Storage::url($path);
    11.             $post->img = $url;
    12.         }
    13.         $post->save();
    14.         return redirect()->route('index');
    15.     }
    create.blade.php:

    PHP:
    1. <form action="{{route('store')}}" method="post" enctype="multipart/form-data">
    2.         @csrf
    3.         <h3>Создать пост</h3>
    4.         <div class="form-group">
    5.             <input type="text" class="form-control" name="title">
    6.         </div>
    7.         <div class="form-group">
    8.             <textarea name="descr" rows="3" class="form-control"></textarea>
    9.         </div>
    10.         <div class="form-group">
    11.             <input type="file">
    12.         </div>
    13.  
    14.         <input type="submit" value="Создать пост" class="btn-outline-success">
    15.     </form>
    web.php:

    PHP:
    1. Route::get('/', 'postctr@index');
    2. Route::get('index', 'postctr@index')->name('index');
    3. Route::get('create', 'postctr@create')->name('create');
    4. Route::post('/', 'postctr@store')->name('store');
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    7.960
    Симпатии:
    1.575
    В бруазере F12 и смотрим консоль. Всё на правду пока похоже, надо отлаживать
     
  3. wezar

    wezar Активный пользователь

    С нами с:
    7 авг 2013
    Сообщения:
    8
    Симпатии:
    0
    Режим разработчика в браузере проверяет валидность HTML? Для меня просто все одно, я в HTML так себе...
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    7.960
    Симпатии:
    1.575
    И лезешь в Laravel...

    Нет, не проверяет. Он покажет, есть ли ошибки в Javascript и при вызовах сервера. Код, который ты привёл, на вид похож на правильный, значит там что-то ещё. Вот это что-то ещё и надо найти
     
  5. wezar

    wezar Активный пользователь

    С нами с:
    7 авг 2013
    Сообщения:
    8
    Симпатии:
    0
    Этот код должен быть рабочим, несколько раз им пользовался и все всегда работало. Благодарю за помощь.
    Кстати насчет HTML, не охота ни с кем дискутировать, потому что это все зависит от подхода, например, знаю одного пхпшника, который утверждает, что HTML в чистом виде в глаза не видел с 2016 года)
    А для новичков хотелось бы отметить, что ларавэл для того и нужен, чтобы лишний раз не париться с разметкой, подключается бутстрап и вперед... все также настраивается mt, mb и пр.
    Детали уже продуманы, остается только писать код)
     
  6. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    7.960
    Симпатии:
    1.575
    Всё в кучу. Laravel - это одно, Bootstrap - другое. Мне не нужен Laravel, чтобы пользовать Bootstrap, и наоборот, я могу взять Laravel, а фронт сверстать на Foundation, или uikit, или вообще без ничего
    Только в грязном? от того, что используете в вёрстке Bootstrap, вы всё равно юзаете html, и его законы надо знать...
     
  7. wezar

    wezar Активный пользователь

    С нами с:
    7 авг 2013
    Сообщения:
    8
    Симпатии:
    0
    Верно, только в грязном.