当前位置: 首页 > 知识库问答 >
问题:

erro laravel“未定义属性:Illumbite\Support\Facades\Request:$email”

阎卓
2023-03-14

我在做一个登录和注册画面,注册画面很完美,但是登录画面让我很头疼去认证。

注册完成,但只要我登录它给出此错误...

"未定义属性:照明\支持\外观\请求::$电子邮件"

我不知道还能做些什么来让它工作。

控制器:

<?php

namespace App\Http\Controllers;


use App\Models\Usuario;
use Illuminate\Support\Facades\Auth;
use Request;


class Usuarios extends Controller
{
    public function cadastrar()
    {
        $usuario = new Usuario(Request::all());
        $usuario->save();
        return redirect('/')->with('mensagem_sucesso', 'Cadastro efetuado com sucesso!');

    }

    public function index()
    {
        return view('layout/cadastrousuario');
    }

    public function indexlogin()
    {
        return view('layout/login');
    }

    public function logar(Request $request)
    {

        if (Auth::attempt(['email' => $request->email, 'password' => $request-> password])) {
            dd('voce esta logado');
        } else {
            dd('voce nao esta logado');
        }

    }

}

型号:

<?php

namespace App\Models;

use App\Models\Model\Request;
use DB;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Support\Facades\Hash;

class Usuario  extends Authenticatable
{

    protected $table = 'usuario';
    public $timestamps = false;

    protected $fillable =
        array(
            "codigo",
            "nome",
            "email",
            "apelido",
            "senha",
            "bloqueado",
            "saldo",
            "saldo_atual",
            "admin"
        );


    use HasFactory;
}

路线:

<?php

use App\Http\Controllers\Lancamentos;
use App\Http\Controllers\LancamentosSimplificado;
use App\Http\Controllers\Usuarios;
use Illuminate\Support\Facades\Route;

// Route = (rota)::get ou post = (method) ( '/home' = (link) , [Lancamentos = (controller) :: class, 'logar' = ( function) ;

Route::get('/', [Lancamentos::class, 'index']);
Route::get('/salvar', [Lancamentos::class, 'salvar']);
Route::get('/maisdetalhes/{codigo}', [Lancamentos::class, 'maisdetalhes']);
Route::get('/criarchat', [Lancamentos::class, 'criarchat']);
Route::post('/cadastrar', [Lancamentos::class, 'cadastrar']);
Route::post('/cadastrar-simplificado', [LancamentosSimplificado::class, 'cadastrar']);
Route::get('/criarchat', [LancamentosSimplificado::class, 'listar']);
Route::get('/chat/{codigo}', [Lancamentos::class, 'chat']);
Route::get('/chatcriado/{codigo}', [LancamentosSimplificado::class, 'chatcriado']);
Route::get('/cadastrar-usuario', [Usuarios::class, 'index']);
Route::post('/cadastrar-usuario', [Usuarios::class, 'cadastrar']);
Route::get('/login', [Usuarios::class, 'indexlogin']);
Route::post('/login', [Usuarios::class, 'logar']);

点击登录后立即查看页面图片

共有1个答案

巢安澜
2023-03-14

首先,您必须在注册功能中进行验证,以确保电子邮件地址正确到达并已注册。我首先修改这个函数

public function cadastrar(Request $r)
 {
   $r->validate([
     'name' => 'required|string',
     'email' => 'required|email|unique:users',
     'password' => 'min:6',
     'password_confirmation' => 'required_with:password|same:password|min:6',
     'custom_field' => 'custom validation'

 ]);
 $input = $r->all();
 $input['password'] = Hash::make($r->password);
 $utilisateur = Model::create($input); //the Model == Usuario;
 return redirect('/')->with([
    'message'    => "Cadastro efetuado com sucesso!",
    'alert-type' => 'success',
]);
}

这只是一个代码片段,我不会假装它正是您所需要的。接下来是登录功能

if (Auth::attempt(['email' => $r->email, 'password' => $r->password])) {
                // The user is active, not suspended, and exists.
                $user = Auth::user();
                if($user->fcm_token != Null){
                    $token = $user->createToken('AUTH')->accessToken;
                    $user->remember_token = $token;
                    $user->device_token = $user->fcm_token;
                    $user->save();
                    $response = [
                        "data"=> [
                            'user'=> $user,
                            'token'=> $token,
                        ],
                        'message_fr' => 'Utilisateur connecté avec succès',
                        'message_en' => 'User logged successfully',
                    ];
                    return response()->json($response, 200);
                }else{
                    $response = [
                        'message_fr' => 'Vous êtes peut-être un robot',
                        'message_en' => 'You may be a robot',
                    ];
                    return response()->json($response, 422);
                }
            } else {
                $response = [
                    'message_fr' => 'Veuillez vérifier vos informations de connexion',
                    'message_en' => 'Please check your login information',
                ];
                return response()->json($response, 422);
            }

由于您在注册簿上进行了验证,因此您可以确保电子邮件不仅存在,而且符合电子邮件的名称

这两种方法都是从我的可用项目源代码中选取的示例,祝你好运

 类似资料:
  • 我对laravel很陌生,我在这里尝试制作一个简单的注册和登录表单,注册表单在数据库中注册用户,登录表单登录用户,但在这里我遇到了这个错误。我花了很多时间试图解决这个问题,查阅了许多资源,但没有找到答案,如果有任何帮助,我们将不胜感激。。谢谢 错误:未定义属性:照明\支持\外观\请求::$电子邮件 刀身 控制器

  • 我是拉雷维尔的新手。我有一个控制器,我只想从标题中获取授权的值。我看到了其他堆栈溢出答案,建议我使用

  • 我刚开始学习Laravel,但我在路由到控制器时遇到了问题,我有一个名为“App”的控制器,其中有一个名为index的函数,它说即使我在路由中设置了它,也无法在“App”控制器中找到它 错误 错误 调用到未定义的方法照明\支持\Facades\应用程序::索引() http://localhost:8000/anasayfa 应用程序。php 网状物php 这个错误的原因是什么?

  • 这是我的代码: 当我运行它时,它抛出以下错误: 未找到类“Illumbite\Support\Facades\Paginator” 注意:我使用的是Laravel Framework版本5.2.45。 我该怎么修?

  • 我想在laravel应用程序中显示目录的所有文件,这里是关于Finder的错误发生,有人可以帮助我吗? 未找到类“Illumbite\Support\Facades\Finder” 代码

  • 我创建了我的laravel项目如下: 这将使用laravel版本8创建我的项目。由于我想使用拉腊维尔7,我修改了作曲家。json: 之后我运行: 以描述的错误结束(未找到Class Illumate\Support\Facades\RateLimiter) 事实上,该类不存在于Support facade中。降级过程不应该纠正这一点吗?