这是我的content.blade.php
<form action="{{ route('home') }}" method="post">
<input class="input-text" type="text" name="name" value="Your Name *" onFocus="if(this.value==this.defaultValue)this.value='';" onBlur="if(this.value=='')this.value=this.defaultValue;">
<input class="input-text" type="text" name="email" value="Your E-mail *" onFocus="if(this.value==this.defaultValue)this.value='';" onBlur="if(this.value=='')this.value=this.defaultValue;">
<textarea name="text" class="input-text text-area" cols="0" rows="0" onFocus="if(this.value==this.defaultValue)this.value='';" onBlur="if(this.value=='')this.value=this.defaultValue;">Your Message *</textarea>
<input class="input-btn" type="submit" value="send message">
{{ csrf_field() }}
</form>
那是我的路线(web.php)
Route::group(['middleware'=>'web'], function(){
Route::match(['get', 'post'], '/', ['uses'=>'IndexController@execute', 'as'=>'home']);
Route::get('/page/{alias}', ['uses'=>'PageController@execute', 'as'=>'page']);
Route::auth();
});
最后是我的IndexController.php,方法execute():
if($request->isMethod('post')){
$messages = [
'required' => "Поле :attribute обязательно к заполнению",
'email' => "Поле :attribute должно соответствовать email адресу"
];
$this->validate($request, [
'name' => 'required|max:255',
'email' => 'required|email',
'text' => 'required'
], $messages);
dump($request);
}
因此,问题是dump($request)
不起作用,我还尝试注释掉dump($request)
以外的所有内容,结果是相同的。我认为它只是跳过if($request->isMethod('post'))
,以便返回该方法不正确,可能不确定令牌是否有问题,我不确定。
如何解决此问题?
编辑: 那是上面if语句的代码
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Page;
use App\Service;
use App\Portfolio;
use App\People;
use DB;
class IndexController extends Controller
{
//
public function execute(Request $request){
答案 0 :(得分:0)
您应该先将$request
分配给某个地方。
例如,如果我有一个store
方法并且必须使用Request $request
来获取信息,则应该首先建立它,因此通过建立它,我的应用程序将识别出变量是什么检索,让我为您展示示例代码:
public function store(Request $request)
{
$data = $request->all();
$data['a'] = Input::get('a');
$data['b'] = Input::get('b');
$data['c'] = Input::get('c');
$data['d'] = Input::get('d');
$data['e'] = Input::get('e');
Letters::create($data);
return redirect::to('/');
}
你明白了吗?
如果没有,这是isMethod
的示例:
$method = $request->method();
if ($request->isMethod('post')) {
//
}
在您的代码中,我没有看到$var = $request->method();
(或您想要的样子)。