在表单操作中使用表单输入值,Laravel 5.4

时间:2017-02-13 16:42:04

标签: php forms laravel laravel-5 frameworks

我写了一些代码,当用户访问网址时从数据库中检索一些数据。 例如,有人访问时:

http://localhost:8000/home/foo

他会看到类似的东西:

foome
fooyou
foohim
fooher

现在,我想在home.blade.php页面中配置它并制作一个html表单。
当有人以这个简单的形式输入查询时,应该像上面那样将他重定向到一个URL。 例如,假设他将“foo1”输入此表单。他应该去:

http://localhost:8000/home/foo1

并查看与上述相同的值:

foo1me
foo1you
foo1him
foo1her

所以,我在我的控制器中使用过它:

    class DomainGeneratorController extends Controller
{
    public function keywordreturn()
    {
        return  view('home');
    }
    public function userkeyword(Request $inputtedkeyword, $id)
    {
        $blog = DB::table('keywords')->pluck('blog');
        $hosting = DB::table('keywords')->pluck('hosting');
        return view('home', ['inputtedkeyword' => $id, 'category' => $blog]);
    }
}

这是我的路线:

Route::get('/', 'DomainGeneratorController@keywordreturn');

Route::auth();

Route::get('/home', 'DomainGeneratorController@keywordreturn');
Route::resource('home/{id}', 'DomainGeneratorController@userkeyword');

最后,这是home.blade.php:

<div class="panel-body">
    @if(isset($category))
        <table>
            <tbody>
            <tr>
                <td>Keyword</td>
                <td>.COM</td>
                <td>.NET</td>
                <td>.ORG</td>
            </tr>
            @foreach( $category as $item )
                <tr>
                    <td>{{ $inputtedkeyword }}{{ $item }}</td>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                </tr>
                <tr>
                    <td>{{ $item }}{{ $inputtedkeyword }}</td>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                </tr>
            @endforeach
            </tbody>
        </table>
    @else
        <p>Enter your own keyword</p>

        <form method="POST" id="domaininput"
              action="{{ action('DomainGeneratorController@userkeyword', $id = Request::get("find")) }}">
            <div id="check" class="input-group margin-bottom-sm">
                <input class="form-control" type="text" name="find" placeholder="Search">
                <button type="submit">
                    <div id="search" class="input-group-addon">
                        <i class="fa fa-search"></i>
                    </div>
                </button>
            </div>
        </form>
    @endif
</div>

我在哪里做错了?请帮我。感谢。

1 个答案:

答案 0 :(得分:0)

需要进行一些更改

  1. 使用路由

     Route::post('home', 'DomainGeneratorController@userkeyword');
    
  2. 这完全相反,也在这里改变

     <form method="POST" id="domaininput"
          action="/home">
    
  3. 获取帖子后值

     return view('home', ['inputtedkeyword' => $inputtedkeyword->find, 'category' => $blog]);