嗨并感谢回复。我有一个这样的表格:
<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
或......你怎么看?
最大的问题是产生虚拟错误的本地和在线主机之间的差异!
答案 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
文件中。
谢谢你的回复。