一说起laravel的表单提交,如果遇到坑,第一反应就是没有加入csrf,这个是绝大多数新手的必经之路!!
加csrf的方式多种多样,一开始比较复杂,后面越来越简单,可以直接用{{csrf_field()}}或者@csrf(我的版本是laravel5.6更早的版本请用hidden方式,自己查一下吧,记不太清了)。加入的位置是form表单的下面
<form action="" method="post">
{{csrf_field()}}
<ul>
<li>
<input type="text" name="username" class="text"/>
<span><i class="fa fa-user"></i></span>
</li>
<li>
<input type="password" name="password" class="text"/>
<span><i class="fa fa-lock"></i></span>
</li>
<li>
<input type="text" class="code" name="code"/>
<span><i class="fa fa-check-square-o"></i></span>
<img src="{{url('admin/code')}}" alt="" onclick="this.src='{{url('admin/code')}}?'+Math.random()">
</li>
<li>
<input type="submit" value="立即登陆"/>
</li>
</ul>
</form>
或者
<form action="" method="post">
@csrf
<ul>
<li>
<input type="text" name="username" class="text"/>
<span><i class="fa fa-user"></i></span>
</li>
<li>
<input type="password" name="password" class="text"/>
<span><i class="fa fa-lock"></i></span>
</li>
<li>
<input type="text" class="code" name="code"/>
<span><i class="fa fa-check-square-o"></i></span>
<img src="{{url('admin/code')}}" alt="" onclick="this.src='{{url('admin/code')}}?'+Math.random()">
</li>
<li>
<input type="submit" value="立即登陆"/>
</li>
</ul>
</form>
加入csrf后再登录:
emmm,舒服~