【发布时间】:2017-01-18 11:34:48
【问题描述】:
我正在使用 Laravel 5.2,我在不同的页面中有两个表单,但方法和控制器相同..
两者都使用public function store(Request $request){} 方法。
“show.blade.php”页面中的第一个表单:
<form action="{{ url('projects') }}" name="comment_form" class="row" method="POST">
{{ csrf_field() }}
<div class="col-md-3">
<input placeholder="Name" name="name" type="text">
</div>
<div class="col-md-3">
<input placeholder="Email" name="email" type="text">
</div>
<div class="col-md-3">
<input placeholder="Subject" name="subject" type="text">
</div>
<div class="col-md-3">
<input value="Id Number : {{ $project -> id }}" name="project_id" type="text" readonly>
</div>
<div class="col-md-12">
<textarea placeholder="Comments" name="comments" cols="10" rows="10"></textarea>
</div>
<div class="col-md-12">
<input type="submit" value="Send Comments">
</div>
</form>
“create.blade.php”页面中的第二种形式:
{!! Form::open(array('route' => 'projects.store', 'files' => true, 'name' => 'project_form')) !!}
{{ Form::label('title', 'Title:', ['class' => 'top-bottom-margin']) }}
{{ Form::text('title', null, ['class' => 'form-control', 'maxlength' => '255']) }}
{{ Form::label('image', 'Image: ', ['class' => 'top-bottom-margin']) }}
{{ Form::file('image', ['accept' => 'image/*']) }}
{{ Form::label('second_image', 'Optional Image: ', ['class' => 'top-bottom-margin']) }}
{{ Form::file('second_image', ['accept' => 'image/*']) }}
{{ Form::label('third_image', 'Optional Image: ', ['class' => 'top-bottom-margin']) }}
{{ Form::file('third_image', ['accept' => 'image/*']) }}
{{ Form::label('body', 'Body:', ['class' => 'top-bottom-margin']) }}
{{ Form::textarea('body', null, ['class' => 'form-control']) }}
{{ Form::submit('Create Project', ['class' => 'btn btn-success btn-lg btn-block top-bottom-margin']) }}
{!! Form::close() !!}
ProjectsController.php 方法代码:
public function store(Request $request)
{
$data = $request->all();
if(isset($data['project_form'])){
// validation START
$this -> validate($request, array(
'title' => 'required | max:255',
'body' => 'required',
'image' => 'required'
));
// validation END
// storing in database
$project = new Project;
$project -> title = $request -> title;
$project -> body = $request -> body;
// First images START
$image = $request -> file('image');
$fileName = time() . '.' . $image -> getClientOriginalExtension();
$location = public_path('admin_images/' . $fileName);
Image::make($image) -> resize(860, 600) -> save($location);
//database store
$project -> image = $fileName;
//First images END
if ($request->hasFile('second_image')){
// second images START
$rand_number = rand(100, 2000);
$second_image = $request -> file('second_image');
$secondFileName = time() . $rand_number . '.' . $second_image -> getClientOriginalExtension();
$secondLocation = public_path('admin_images/' . $secondFileName);
Image::make($second_image) -> resize(860, 600) -> save($secondLocation);
//database store
$project -> second_image = $secondFileName;
// second images END
}
if ($request->hasFile('third_image')){
// third images START
$second_rand_number = rand(3000, 5000);
$third_image = $request -> file('third_image');
$thirdFileName = time() . $second_rand_number . '.' . $third_image -> getClientOriginalExtension();
$thirdLocation = public_path('admin_images/' . $thirdFileName);
Image::make($third_image) -> resize(860, 600) -> save($thirdLocation);
//database store
$project -> third_image = $thirdFileName;
// third images END
}
$project -> save();
Session::flash('success', 'Your project was created successfully!');
return redirect() -> route('projects.show', $project -> id);
}
现在我检查是提交comment_form还是提交project_form?
【问题讨论】:
标签: php laravel laravel-5 laravel-5.2