Bonjour,
Je veux créer un formulaire de connexion. Mais je n'arrive pas à avoir le bon résultat. Meme si je tape un login et un mot de passe corrects, j'obtiens ce message "login details are not valid". Merci de m'aider à résoudre ce problème
LoginController
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Hash;
class LoginController extends Controller
{
public function login()
{
return view('index');
}
public function check(Request $request)
{
$request->validate([
'email' => 'required',
'password' => 'required'
]);
$credentials=$request->only('email','password');
if (Auth::attempt($credentials))
{
return redirect()->intended(route('med_profile'));
}
return redirect(route('login'))->with('error','login details are not valid');
}
}
?>
user.php
use HasApiTokens, HasFactory, Notifiable;
protected $table="users";
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'name',
'email',
'password',
];
Tu peux montrer ta config dans config/auth.php ?
Aussi profite pour faire un pti dd( $credentials) pour voir si les données sont bonnes.
Hello :)
Alors tu fais l'auth à la main alors au cas où: Quand tu crées le user, tu enregistres bien le password en hash 256 et pas en clair? (attempt ne vérifie pas le password mais le hash du password)
Sinon tu fais un login pour apprendre Laravel? Si ce n'est pas le cas tu peux utiliser l'auth de Laravel (ils en ont fait plusieurs) comme Fortify ou Breeze (perso je préfère Fortify, mais Breeze est plus simple à mettre en place) https://laravel.com/docs/10.x/starter-kits https://laravel.com/docs/10.x/fortify