В Laravel вы можете сохранить поля только в том случае, если пользователь аутентифицирован, используя механизм "Middlewares" и проверку аутентификации.
Шаги:
1. Создайте маршрут, контроллер и шаблон для формы ввода данных пользователя. В контроллере вы можете добавить метод saveUser, который будет отвечать за сохранение данных пользователей.
Route::middleware('auth')->post('save', 'UserController@saveUser');
UserController.php:
namespace AppHttpControllers; use AppUser; use IlluminateHttpRequest; class UserController extends Controller { public function saveUser(Request $request) { // Проверяем аутентификацию пользователя if (Auth::check()) { // Аутентифицированный пользователь $user = Auth::user(); // Сохраняем поля $user->name = $request->name; $user->email = $request->email; // И так далее... // Сохраняем изменения $user->save(); // Возвращаем успешный ответ return redirect()->back()->with('success', 'Данные сохранены.'); } // Возвращаем ошибку return redirect()->back()->with('error', 'Необходима аутентификация для сохранения данных.'); } }
2. В представлении формы ввода данных пользователя добавьте маршрут формы и CSRF (Cross-Site Request Forgery) защиту.
<form method="POST" action="{{ url('save') }}"> @csrf <!-- Поля формы --> <input type="text" name="name" value=""> <input type="email" name="email" value=""> <!-- И так далее --> <button type="submit">Сохранить</button> </form>
В этом примере мы добавляем middleware 'auth' к маршруту для проверки аутентифицированных пользователей. В методе saveUser() контроллера UserController мы проверяем, аутентифицирован ли пользователь с помощью метода Auth::check(). Если пользователь аутентифицирован, мы сохраняем поля формы в базе данных. Если пользователь не аутентифицирован, мы возвращаем ошибку.
Этот подход обеспечивает безопасное сохранение данных только для аутентифицированных пользователей.