从laravel的前端保存数据
I have testimonials
table where I get reviews from users, for backend(admins) everything works perfectly, my issue is with front-end form where users (logged or guests) can send their testimonials, somehow it doesn't works and also not shows any error to see which part has issue.
Here are my codes:
Routes
Route::get('/write-testimonials', 'frontend\FrontendController@testimonialcreate')->name('write-testimonials');
Route::post('/write-testimonials', 'frontend\FrontendController@testimonialcreate')->name('write-testimonialsstore');
Controller:
public function testimonialcreate()
{
return view('front.testimonials-create');
}
public function testimonialcreatestore(Request $request)
{
$this->validate($request, array(
'body'=>'required',
'user_email' => 'nullable',
'user_name' => 'nullable',
'image' => 'nullable|image',
'status_id' => 'required|numeric',
'user_id' => 'nullable|numeric',
));
$testimonial = new Testimonial;
$testimonial->body = $request->input('body');
$testimonial->user_email = $request->input('user_email');
$testimonial->user_name = $request->input('user_name');
$testimonial->status_id = $request->input('status_id');
$testimonial->user_id = $request->input('user_id');
if ($request->hasFile('image')) {
$image = $request->file('image');
$filename = 'Testimonial' . '-' . time() . '.' . $image->getClientOriginalExtension();
$location = public_path('images/');
$request->file('image')->move($location, $filename);
$testimonial->image = $filename;
}
$testimonial->save();
return redirect()->back()
->with('success', 'Testimonial sent!');
}
And my blade
<form action="{{route('write-testimonialsstore')}}" method="POST" enctype="multipart/form-data">
{{ csrf_field() }}
<div class="col-md-8">
@guest
<div class="row">
<div class="col-md-4">
{{Form::label('user_email', 'Email')}}
{{Form::text('user_email', null, array('class' => 'form-control'))}}
</div>
<div class="col-md-4">
{{Form::label('user_name', 'Name')}}
{{Form::text('user_name', null, array('class' => 'form-control'))}}
</div>
<div class="col-md-4">
{{Form::label('image', 'Image')}}
{{Form::file('image', array('class' => 'form-control'))}}
</div>
</div>
@endguest
<div class="row">
<div class="col-md-12">
<div class="mt-20">
{{Form::label('body', 'Write your testimonial')}}
{{Form::textarea('body', null, array('class' => 'form-control'))}}
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="row">
<label for="status_id" hidden>Status</label>
<input type="hidden" name=status_id" value="1">
@auth
<label for="user_id" hidden>User</label>
<input type="hidden" name="user_id" value="{{ Auth::user()->id }}" placeholder="{{ Auth::user()->username }}">
@endauth
</div>
</div>
<div class="mt-20">
{{ Form::submit('Send', array('class' => 'btn btn-success')) }}
</div>
</form>
any idea?
dtwxmn8741
2018/01/09 01:55- laravel
- php
- 点赞
- 收藏
- 回答
满意答案