Как создать настройки учетной записи пользователя в Laravel? - PullRequest
0 голосов
/ 29 августа 2018

Я новичок в Laravel & php. Я успешно создал аутентификацию в моем приложении laravel. Теперь пользователи могут зарегистрироваться и войти в свой аккаунт. Теперь я хочу создать опцию настройки учетной записи в моей навигационной панели, которая будет перенаправлять пользователей на страницу, где они смогут изменить свое имя, адрес электронной почты и пароль. Может кто-нибудь помочь мне, как я буду реализовывать это?

Это моя таблица пользователей в БД

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->string('provider')->nullable();
            $table->string('provider_id')->nullable();
            $table->string('google_id')->nullable();
            $table->rememberToken()->nullable();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

1 Ответ

0 голосов
/ 29 августа 2018

Вы должны реализовать контроллер профиля пользователя, как это

Например:

class UsersController extends Controller
{
    //
    public function getList($message = null){
        $users = User::All();
        return view("users.list",Array("users"=>$users,"message"=>$message));
    }

    public function editUser($id){
        $user = User::findOrFail($id);
        return view("users.edit", Array("user"=>$user));
    }

    public function updateUser($id, Request $request){
        $user = User::findOrFail($id);

        if($request->input("name")!=null)$user->name = $request->input("name");
        if($request->input("email")!=email)$user->email = $request->input("email");

        $message = array("data"=>"User modified.","type"=>"success");
        try{
            $user->save();
        }catch(\Illuminate\Database\QueryException $ex){
            $message = array("data"=>"Exception trying modify the data ".$ex, "type"=>"danger");
        }
        return $this->getList($message);
    }

    public function changePassword($id){
        $user = User::findOrFail($id);
        return view("users.password", Array("user"=>$user));
    }

    public function updatePassword($id, Request $request){
        if($request->input("password") != $request->input("password_confirm"))
            return redirect()->back()->withInput()->with("message",Array("type"=>"danger","data"=>"Password fields does not match!"));

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

            $user->password = bcrypt($request->input("password"));
            $message = array("data"=>"Password changed.","type"=>"success");

            try{
                $user->save();
            }catch(\Illuminate\Database\QueryException $ex){
                $message = array("data"=>"Exception trying modify the data ".$ex, "type"=>"danger");
            }
            return $this->getList($message);
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...