Bonjour,

J'ai ce pblm de session qui verifie [email] [password] et me renvoie ce message d'erreur
"Undefined index: password"

y'a t il d'autres solution à cela ?
Merci d'avance pour votre soutien.

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire

En<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

use Auth;

class AdminController extends Controller
{
  public function login(Request $request){

        if ($request->isMethod('post')){
      $data = $request->input();
      if(Auth::attemp(['email' => $data['email'], 'password' => $data['password'], 'admin'=> '1'])){

       echo  "success";
}else{echo  "Failed";

    }
}
    return View('admin.admin_login');

  }
}

Ce que j'obtiens

ErrorException in AdminController.php line 17:
Undefined index: password

2 réponses


Salut,

Pourquoi t'embêter avec écrire ces quelques lignes alors que Laravel authentifie très bien les utilisateurs tout seul: https://laravel.com/docs/6.0/authentication.

Au lieu de mettre des echo 'success';, débug ton code, c'est la première chose à faire lorsque tu as des erreurs de ce type. Au début de ta méthode, ajoute simplement la ligne dd($request->all()); pour savoir ce qui est stocké dans ta request, ainsi tu pourras voir si ton champs password est présent sous un autre nom, si c'est le cas, ton problème vient du HTML.

A la place de

$data = $request->input();
$data['<field>']

Tu as juste à mettre

$request->get('<field>')

Je te conseile de suivre la formation Laravel de Grafikart, qui te donnera les bases de Laravel, car je vois que tu as des lacunes, la ligne $request->isMethod('post') sert à rien si tu as bien configuré tes routes. Laravel gère tout seul la filtration des verbes HTTP.

OOL92
Auteur

Merci bcp pour ton intervention, c'est vraiment super sympas ! , je suis autodictate depuis 4 mois, c'est vrai ça prends plus de temps.... mais cela me passionne tellement
je vais testé cela !
bien à toi