如何解决这个问题?请帮忙。
管理控制器文件:这是我的控制器文件。
use Illuminate\Http\Request;
use App\admins;
class AdminController extends Controller{
public function register(Request $request){
$register = new admins();
$register->name = $request->input('name');
$register->email = $request->input('email');
$register->password = $request->input('password');
$register->save();
return redirect('/admin_register')->with('success', 'Register Sucessully!');
}
}
路线文件:
Route::post('/admin_register', 'AdminController@register')->name('admin_register');
Route::get('/admin_register', 'AdminController@register')->name('admin_register');
模型文件
namespace App;
use Illuminate\Database\Eloquent\Model;
class admins extends Model{
protected $fillable = [
'name', 'email', 'password',
];
}
admin_register.blade:
<form method="post" action="shareholder" role="form" id="vehicle_form" name="vehicle_form" data-parsley-validate novalidate>
<div id="success_msg" class="alert alert-success alert-dismissable"> </div>
<input type="hidden" name="_token" value="{{csrf_token()}}">
<input type="text" name="name" id="vehicle_no" value="" placeholder="Enter Your Name" class="form-control">
<input type="text" name="email" id="vehicle_no" value="" placeholder="Enter your Email" class="form-control">
<input type="text" name="password" id="vehicle_no" value="" placeholder="Enter your Password" class="form-control">
<input type="submit" value="REGISTER">
</form>
如果name
字段不是必需字段,请在迁移中使字段为空:
$table->string('name', 100)->nullable();
另请注意,元素ID在文档中应该是唯一的
你的GET
指向你的register
方法。
/admin_register
时,它将尝试创建一个新用户,但$request
将是空的,因为你没有POST
任何东西。save()
方法,它将重定向您在循环中的相同方法,因为您的重定向而是添加一个新的方法,如:
public function redirectForm(){
return view('admin_register');
}
并将您的路线更改为:
Route::post('/admin_register', 'AdminController@register')->name('admin_register');
Route::get('/admin_register', 'AdminController@registerForm')->name('admin_register_form');
你的观点中有一个拼写错误
<form method="post" action="{{route('admin_register')}}" role="form" id="vehicle_form" name="vehicle_form" data-parsley-validate novalidate>
<div id="success_msg" class="alert alert-success alert-dismissable"> </div>
<input type="hidden" name="_token" value="{{csrf_token()}}">
<input type="text" name="name" id="vehicle_no" value="" placeholder="Enter Your Name" class="form-control">
<input type="text" name="email" id="vehicle_no" value="" placeholder="Enter your Email" class="form-control">
<input type="text" name="password" id="vehicle_no" value="" placeholder="Enter your Password" class="form-control">
<input type="submit" value="REGISTER">
</form>
在你的代码action='shareholder'
哪个错了。把它设置为action='{{route('admin_register')}}'
希望这可以帮助