public function save()
{
//return \View::make('student.view');
$validation= array(
'first_name'=>'required',
'email'=>'required'
);
$v1= Validator::make(Input::all(),$validation);
我认为它在这一行之后失败并且没有插入数据并且它只是再次显示表单就像 v1 失败一样并且它在按下提交按钮后转到查看文件(表单)。
if( $v1->fails())
{
return Redirect::to('view')->withErrors($v1);
}
else
{ $poststudent=Input::all();
$data = array('first_name'=>$poststudent['first_name'],
'last_name'=>$poststudent['last_name'],
'email'=> $poststudent['email'],
'interested'=> $poststudent['interested'],
'skills'=> $poststudent['skills']);
$check=0;
$check=DB::table('students')->insert($data);
if($check > 0)
{
return Redirect::to('/');
}
else
{
return Redirect::to('/view');
}
}
}
view.blade.php文件在这里(里面有form的特征):
<form action="<?=URL::to('/save')?>" method="POST">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<div class="form-group">
<label for= "first_name"> FIRST NAME </label>
<input name="FIRST NAME" type="text" value="" class="form-control" id="first name"/>
</div>
<br /><br />
<div class="form-group">
<label for= "last_name"> LAST NAME </label>
<input name="LAST NAME" type="text" value="" class="form-control" id="LAST NAME"/>
</div>
<br /><br />
<div class="form-group">
<label for= "EMAIL"> EMAIL </label>
<input name="EMAIL" type="text" value="" class="form-control" id="EMAIL"/>
</div>
<br /><br />
<div >
<label for= "INTERESTED"> INTERESTED </label><br />
<input type="radio" name="INTERESTED" value="ANDROID DEVELOPER" />
ANDROID DEVELOPER<br />
<input type="radio" name="INTERESTED" value="WEB DEVELOPER" />
WEB DEVELOPER<br />
<input type="radio" name="INTERESTED" value="GAME DEVELOPER" />
GAME DEVELOPER <br />
<input type="radio" name="INTERESTED" value="JAVA DEVELOPER" />
JAVA DEVELOPER<br />
</div>
<br /><br />
<div >
<label for= "SKILLS"> SKILLS </label><br />
<textarea name="SKILLS" cols="50" rows="6"></textare a>
</div>
<br />
<br />
<input type="submit" value="Submit" name="save" class="text" />
</form>
我不知道如何解决这个问题。
最佳答案
在您的 Blade View 中,您以错误的方式使用了元素名称。例如 name="Last Name"
你应该像这样使用:
<input name="last_name" type="text" value="" class="form-control" id="LAST NAME"/>
那么你的这段代码就可以工作了。
$data = array('first_name'=>$poststudent['first_name'],
'last_name'=>$poststudent['last_name'],
'email'=> $poststudent['email'],
'interested'=> $poststudent['interested'],
'skills'=> $poststudent['skills']);
更新
你还需要使用
public function save(Request $request)
没有
$poststudent=Input::all();
罢工><罢工>罢工>
使用
$poststudent = $request->all();
关于php - Laravel 5 表单不工作(不插入数据),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31227260/