Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Laravel中创建用户帐户设置?_Php_Laravel_Authentication_Settings - Fatal编程技术网

Php 如何在Laravel中创建用户帐户设置?

Php 如何在Laravel中创建用户帐户设置?,php,laravel,authentication,settings,Php,Laravel,Authentication,Settings,我对Laravel&php是新手。我已在我的laravel应用程序中成功创建身份验证。现在用户可以注册并登录到他们的帐户。现在,我想在我的导航栏中创建一个帐户设置选项,该选项将用户重定向到一个页面,用户可以在该页面上更改自己的姓名、电子邮件和密码。谁能帮我解决一下我将如何实施这一点 这是数据库中的“我的用户”表 <?php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; us

我对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');
    }
}

您必须像这样实现用户配置文件控制器

例如:

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);
    }

}

在web.php中为用户设置帐户定义路由,并为此路由添加中间件身份验证,然后在resources/views/layouts/app.blade.php中为用户帐户设置添加链接。制作一个单独的控制器,或者使用home controller并在该控制器中创建用于帐户设置的函数,现在在该函数中实现您的逻辑并执行您想执行的任何操作。但是我是php新手,所以我不知道我必须在代码中编写哪些函数。:(公共函数帐户设置(请求$Request){//在此处执行操作}是的,您必须编写代码