使用get方法错误参数的laravel表单

时间:2018-04-19 08:29:45

标签: forms laravel get request

嗨并感谢回复。我有一个这样的表格:

    <form action="{{route('searchpages')}}" method="get">
    <input class="form-control" name="query"  placeholder="search" type="text">
        <button type="submit" class="btn btn-primary">search</button>
    </form>

和路线:

Route::get('/searchpages','PageController@searchpages')->name('searchpages');

和控制器:

    public function searchpages(Request $request){
        $query= $request->get('query');
...

Windows本地主机中的所有内容都可以,当用户输入apple时,$query变体将为apple。 但在共享的房子里,$query变体总是null! 在当地主持人:

+request: ParameterBag {#50 ▼
    #parameters: array:1 [▼
      "query" => "apple"
    ]
  }

但是在共享主机中:

  +request: ParameterBag {#50 ▼
    #parameters: array:1 [▼
      "/searchpages" => null
    ]
  }

和搜索结果网址为:

http://example.com/searchpages?query=apple

我认为主持人可能有些不对劲。比如.htaccess或......你怎么看? 最大的问题是产生虚拟错误的本地和在线主机之间的差异!

3 个答案:

答案 0 :(得分:0)

请尝试使用input()函数

获取变量
$query= $request->input('query');

并且不要将路线或方法改为post.it应该得到。 也尝试做: $query= request('query');

答案 1 :(得分:0)

别忘了添加

{{ csrf_field() }}

如果您不确定下一个错误将是令牌不匹配异常

并且不要将路线或方法改为post.it应该得到。也尝试做:$query= request('query');

答案 2 :(得分:0)

最后,付了几个小时之后,问题就解决了:this 我刚换了:

RewriteRule ^(.*)$ index.php?/$1 [L]

使用:

RewriteRule ^(.*)$ /index.php?/$1 [QSA]

在主机的.htaccess文件中。 谢谢你的回复。