Level 18
Try adding enctype='multipart/form-data' in the form.
<form action="" method="POST" enctype='multipart/form-data'>
****
</form>
When i update my image in my admin database table without choosing any image in my edit_admin page the image disappears automatically but when i choose a image it updates perfectly
this is my admins database table
public function up()
{
Schema::create('admins', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('type');
$table->string('mobile');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->string('image')->default('default.png');
$table->boolean('status')->default('0');
$table->rememberToken();
$table->timestamps();
});
}
This is my edit_admin.blade.php file
<div class="card-body">
<form action="{{ url('admin/edit_admin/'.$adminDetails->id) }}" id="quickForm" method="post">
{{ csrf_field() }}
<div class="row">
<div class="col-lg-6" style="margin-left:250px;">
<div class="form-group">
<label for="name">User Name</label>
<input type="text" class="form-control" name="name" id="name" readonly="" value="{{ $adminDetails->name }}">
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="email" class="form-control" name="email" id="email" readonly="" value="{{ $adminDetails->email }}">
</div>
<div class="form-group">
<label for="type">Admin Type</label>
<select name="type" class="form-control">
<option class="form-control" value="admin" @if($adminDetails->type == "admin") selected @endif>Admin</option>
<option class="form-control" value="subadmin" @if($adminDetails->type == "subadmin") selected @endif>Sub Admin</option>
</select>
</div>
<div class="form-group">
<input type="hidden" class="form-control" name="password" id="password">
</div>
<div class="form-group">
<input type="hidden" class="form-control" name="mobile" id="mobile">
</div>
<div class="form-group">
<div class="checkbox pull-left">
<label>
<input type="checkbox" name="status" id="status" value="1" @if($adminDetails->status == "1") checked @endif> Status
</label>
</div>
</div>
</div>
<!-- /.col -->
</div>
<div class="form-group" style="margin-left:250px; margin-top:15px;">
<button type="submit" class="btn btn-primary">SUBMIT</button>
<a href="{{ url('admin/view_admins') }}" class="btn btn-warning">BACK</a>
</div>
<!-- /.row -->
</form>
</div>
This is my AdminController the update function
public function updateAdminProfile(Request $request){
if($request->isMethod('post')){
$data = $request->all();
$this->validate($request,[
'name' => 'required|regex:/^[\pL\s\-]+$/u',
'mobile' => 'required|numeric',
'image' => '',
]);
if($request->hasFile('image')){
$image_tmp = $request->file('image');
if ($image_tmp->isValid()) {
// Upload Images after Resize
$extension = $image_tmp->getClientOriginalExtension();
$imageName = rand(111,99999).'.'.$extension;
$image_path = 'public/assets/backend/images/admin'.'/'.$imageName;
Image::make($image_tmp)->resize(215, 215)->save($image_path);
}
}else if(!empty($data['current_image'])){
$imageName = $data['current_image'];
}else{
$imageName = ''; //the issue is here, which code i write here?
}
Admin::where('email',Auth::guard('admin')->user()->email)
->update(['name'=>$data['name'],'mobile'=>$data['mobile'],'image'=>$imageName]);
return redirect()->back()->with('flash_message_success', 'User profile updated successfully.');
}
}
Can some one please help?
Please or to participate in this conversation.