Как сохранить поля только если пользователь аутентифицированный?

В 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(). Если пользователь аутентифицирован, мы сохраняем поля формы в базе данных. Если пользователь не аутентифицирован, мы возвращаем ошибку.

Этот подход обеспечивает безопасное сохранение данных только для аутентифицированных пользователей.