Laravel 5形式不工作(不插入数据)

问题描述 投票:1回答:1
        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 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>

我不知道如何解决这个问题。

php mysql laravel laravel-4 laravel-5
1个回答
1
投票

在你的剑看来,你在错误的方式使用元素名称。 e.g 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();
© www.soinside.com 2019 - 2024. All rights reserved.