Laravel我的帖子方法(商店)表格不起作用

问题描述 投票:0回答:2

PostsController.php

 public function store(Request $request)
    {
 Post::create($request->all());
 return redirect('/posts');
}

我在posts目录中查看create.blade.php

@extends('layout.app')



@section('content')

    <h1>Create Post</h1>

    <form action="/posts" method="post">

        <input type="text" name="title" placeholder="Enter title"> <!-- this name=title comes from create_posts_table -->
        {{--{{csrf_field()}}--}}
        <input type="submit" name="submit">

    </form>

@stop

路线

Route::resource('/posts','PostsController');

当我提交浏览器转到localhost / posts时它说:

Object not found!
The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.

If you think this is a server error, please contact the webmaster.

Error 404
localhost
Apache/2.4.33 (Win32) OpenSSL/1.1.0h PHP/7.2.5

没有记录不会保存

php laravel forms redirect store
2个回答
1
投票

尝试:

<form action="{{ route('posts.store') }}" method="post">
    //
</form>

或者你可以阅读this document获取更多信息。并注意您不能通过浏览器调用URL发送帖子请求。你可以提交一份表格


0
投票

这有两个问题。

您正在使用资源路由,因此您需要适当地路由到store方法:

 <form action="{{ route('posts.store') }}" method="post">

此外,您需要在其他控制器端点(例如DELETE方法)上欺骗方法,因为它会因POST请求而失败,您可以这样做:

<form action="{{ route('posts.delete') }}" method="post">
    @csrf
    {{ method_field('DELETE') }}

看看这里我只是在这个视频https://youtu.be/kPYtJo7RyUQ

© www.soinside.com 2019 - 2024. All rights reserved.