Запрошенный URL не найден на сервере в XAMPP с использованием laravel - PullRequest
2 голосов
/ 13 июня 2019

Я пытался редактировать и обновлять информацию о сотруднике, к сожалению, она не работает. Я получаю идентификатор сотрудника, но когда я отправляю обновленные данные, он не работает.показывает запрашиваемый URL, не найденный на сервере

это мой контроллер

public function edit_function($id){
    $user = User::find($id);
    return view('employee.empedit')->with('user',$user);
}

public function update(Request $request,$id){

    $user = User::find($id);

    $user->name = $request->input('name');
    $user->email = $request->input('email');
    $user->phonenumber = $request->input('phonenumber');
    $user->profession = $request->input('profession');

    if($request->hasfile('images')){
        $file= $request->file('images');
        $extension = $file->getClientOriginalExtension();
        $filename = time() . '.' . $extension;
        $file->move('uploads/user/', $filename);
        $user->images= $filename;

    }
    $user->save();
    return redirect('empprofile')->with('success', 'Data Updated.');
}

это мой взгляд

<form method="post" action="/updateimages/{{ $user->id }}" enctype="multipart/form-data">
    <div class="container">
        <div class="jumbotron">
            <h2>Update The Information Of Employee</h2>

                    {{ csrf_field() }}
                    {{ method_field('PUT') }}
                    <div class="form-group">
                      <label >Name:</label>
                    <input type="text" class="form-control" id="name" placeholder="Enter Name" name="name" value="{{ $user->name }} ">
                    </div>
                    <div class="form-group">
                        <label >Email:</label>
                        <input type="email" class="form-control" id="email" placeholder="Enter email" name="email" value="{{ $user->email }} ">
                    </div>
                    <div class="form-group">
                            <label >Phone Number:</label>
                            <input type="text" class="form-control" id="phonenumber" placeholder="Enter Phone Number" name="phonenumber" value="{{ $user->phonenumber }} ">
                    </div>
                    <div class="form-group">
                            <label >Profession :</label>
                            <input type="text" class="form-control" id="profession" placeholder="Enter Profession" name="profession" value="{{ $user->profession }} ">
                    </div>

                    <div class="form-group">
                            <label >Image :</label>
                            <input type="file" class="form-control" id="images" placeholder="" name="images" value="{{ $user->images }}">
                    </div>

                    <div class="form-group">
                            <button class="btn btn-primary" type="submit" name="submit" style="width:50%;">Update Data</button>
                    </div>




        </div>
    </div>
</form>

это мой маршрут

Route::get('edit_profile/{id}' , "empController@edit_function");

Route::put('/updateimages/{id}', "empController@update");

показывает запрашиваемый URL, не найденный на сервере

Ответы [ 2 ]

1 голос
/ 13 июня 2019

Так как я не большой поклонник Url и ID, поэтому я пойду с

маршрутизация на основе имени и привязка модели маршрута

Шаг 1: Рефакторинг маршрутов

Route::get('edit_profile/{user}' , "empController@edit_function")
     ->name('user.editProfile');

Route::put('/updateimages/{user}', "empController@update")
     ->name('user.updateProfile');

Шаг 2: Метод контроллера рефакторинга

public function edit_function(User $user)
{
    $user = $user;
    return view('employee.empedit')->with('user',$user);
}

public function update(Request $request,User $user)
{

    $user->name = $request->input('name');
    $user->email = $request->input('email');
    $user->phonenumber = $request->input('phonenumber');
    $user->profession = $request->input('profession');

    if($request->hasfile('images')){
        $file= $request->file('images');
        $extension = $file->getClientOriginalExtension();
        $filename = time() . '.' . $extension;
        $file->move('uploads/user/', $filename);
        $user->images= $filename;

    }
    $user->save();
    return redirect('empprofile')->with('success', 'Data Updated.');
}

Шаг 3. Редактирование Html и переключение на помощника маршрута

<form method="POST" action="{{route('user.updateProfile',['user' => $user])}}" enctype="multipart/form-data">

Пожалуйста, прокомментируйте ниже, если у вас возникли проблемы

0 голосов
/ 13 июня 2019

Это потому, что какой-то другой маршрут заменяет ваш существующий.Вы можете решить это путем отладки.это будет стоить вашего времени.У меня было лучшее решение, Вы называете свой маршрут.и вызовите маршрут с помощью функции route().

Исходя из вышеприведенной информации,

Может быть,

на маршруте ->

Route::put('/updateimages/{id}', "empController@update")->name('updateImage');

в поле зрения (форма действия) ->

<form method="post" action="{{ route('updateImage', $user->id ) }}" enctype="multipart/form-data">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...