DidaceEkotto
asked

Laravel livewire comment resoudre l'erreur

Salut les gars j'ai un probleme avec laravel et livewire chaque fois que je soumet un formalaire j'ai toujours cette erreur: THE GET METHOD IS NOT SUPPORTED FOR ROUTE LIVEWIRE/UPDATE. SUPPORTED METHODS: POST comment le resoudre je galere un peut voici un exemple de mon code merci d'avance pour vous réponses

1@extends("layouts.auth.template_auth")
2@php
3 $title = "Login :: ".env("APP_NAME");
4 $title2 = "Login";
5@endphp
6@push("body")
7 <body>
8@endpush
9@section("container")
10
11@livewire("front.auth.login",["page"=>request()->fullUrl()])
12
13
14@endsection
1@extends("layouts.auth.template_auth")
2@php
3 $title = "Login :: ".env("APP_NAME");
4 $title2 = "Login";
5@endphp
6@push("body")
7 <body>
8@endpush
9@section("container")
10
11@livewire("front.auth.login",["page"=>request()->fullUrl()])
12
13
14@endsection

Livewire file

1
2<form wire:submit.prevent='login' method="POST">
3 <div>
4 <input type="email" wire:model="email_or_username">
5 @error('email_or_username')
6 <p style="color: red">{{ $message }}</p>
7 @enderror
8 </div>
9 <div>
10 <input type="password" wire:model="password">
11 @error('password')
12 <p style="color: red">{{ $message }}</p>
13 @enderror
14 </div>
15 <div>
16 <button type="submit">Login</button>
17 </div>
18</form>
1
2<form wire:submit.prevent='login' method="POST">
3 <div>
4 <input type="email" wire:model="email_or_username">
5 @error('email_or_username')
6 <p style="color: red">{{ $message }}</p>
7 @enderror
8 </div>
9 <div>
10 <input type="password" wire:model="password">
11 @error('password')
12 <p style="color: red">{{ $message }}</p>
13 @enderror
14 </div>
15 <div>
16 <button type="submit">Login</button>
17 </div>
18</form>

Livewire controller

1public function login()
2 {
3 // Validation des champs requis
4 $this->validate([
5 'email_or_username' => 'required',
6 'password' => 'required',
7 ], [
8 'email_or_username.required' => 'Identifiant ou email est requis.',
9 'password.required' => 'Mot de passe est requis.',
10 ]);
11
12 // Déterminer le type de connexion (email ou nom d'utilisateur)
13 $loginType = filter_var($this->email_or_username, FILTER_VALIDATE_EMAIL) ? 'email' : 'name';
14
15 $credentials = [
16 $loginType => $this->email_or_username,
17 'password' => $this->password,
18 ];
19
20 // Obtenir les informations IP et de localisation
21
22 $setting = Setting::where('id', 1)->first();
23
24 if($setting->online_mode == "non")
25 {
26 $ip_address = $_SERVER['REMOTE_ADDR'];
27 $location = Location::get('129.0.204.227');
28 }
29 else
30 {
31 $ip_address = request()->ip();
32 $location = Location::get($ip_address);
33 }
34
35 // Vérification des informations d'identification
36 if (!Auth::attempt($credentials, $this->remember)) {
37 session()->flash('error', 'Email ou mot de passe incorrect.');
38 $this->password = ""; // Réinitialiser le champ mot de passe
39 return;
40 }
41
42 // Récupération de l'utilisateur connecté
43 $user = Auth::user();
44
45 // Mettre à jour la localisation de l'utilisateur si elle change
46 if ($location && $user->regionCode !== $location->regionCode) {
47 $user->update([
48 'pays' => $location->countryName,
49 'region' => $location->regionName,
50 'ville' => $location->cityName,
51 'longitude' => $location->longitude,
52 'latitude' => $location->latitude,
53 'adresse_ip' => $location->ip,
54 'regionCode' => $location->regionCode,
55 'countryCode' => $location->countryCode,
56 ]);
57 }
58
59 // Redirection après connexion réussie
60 return redirect()->route('app.home')->with('success', 'Salut, content de vous revoir !');
61 }
1public function login()
2 {
3 // Validation des champs requis
4 $this->validate([
5 'email_or_username' => 'required',
6 'password' => 'required',
7 ], [
8 'email_or_username.required' => 'Identifiant ou email est requis.',
9 'password.required' => 'Mot de passe est requis.',
10 ]);
11
12 // Déterminer le type de connexion (email ou nom d'utilisateur)
13 $loginType = filter_var($this->email_or_username, FILTER_VALIDATE_EMAIL) ? 'email' : 'name';
14
15 $credentials = [
16 $loginType => $this->email_or_username,
17 'password' => $this->password,
18 ];
19
20 // Obtenir les informations IP et de localisation
21
22 $setting = Setting::where('id', 1)->first();
23
24 if($setting->online_mode == "non")
25 {
26 $ip_address = $_SERVER['REMOTE_ADDR'];
27 $location = Location::get('129.0.204.227');
28 }
29 else
30 {
31 $ip_address = request()->ip();
32 $location = Location::get($ip_address);
33 }
34
35 // Vérification des informations d'identification
36 if (!Auth::attempt($credentials, $this->remember)) {
37 session()->flash('error', 'Email ou mot de passe incorrect.');
38 $this->password = ""; // Réinitialiser le champ mot de passe
39 return;
40 }
41
42 // Récupération de l'utilisateur connecté
43 $user = Auth::user();
44
45 // Mettre à jour la localisation de l'utilisateur si elle change
46 if ($location && $user->regionCode !== $location->regionCode) {
47 $user->update([
48 'pays' => $location->countryName,
49 'region' => $location->regionName,
50 'ville' => $location->cityName,
51 'longitude' => $location->longitude,
52 'latitude' => $location->latitude,
53 'adresse_ip' => $location->ip,
54 'regionCode' => $location->regionCode,
55 'countryCode' => $location->countryCode,
56 ]);
57 }
58
59 // Redirection après connexion réussie
60 return redirect()->route('app.home')->with('success', 'Salut, content de vous revoir !');
61 }
DidaceEkotto
posted

@stevymarlino sans la method="POST" j'avais toujours cette erreur je l'ai juste rajouter comme ça j'ai le même problème avec le wire:click il y'a des moments ou sa donne sans PB et il y a des moments ou j'ai cette erreur

Confirm deletion

Are you sure you want to delete this reply? This action is irreversible.

mr_wilfried
posted

Essaye de publier manuellement les assets de livewire. Plus d'info ici

Confirm deletion

Are you sure you want to delete this reply? This action is irreversible.

stevymarlino
posted

Bonjour @DidaceEkotto si tu fais ton form avec livewire tu n'a plus besoin de préciser method="POST" retire cela et ton formulaire normalement ne devrait plus l'afficher se message. voic documentation : livewire validation

Confirm deletion

Are you sure you want to delete this reply? This action is irreversible.

You need Log in or Create an account to join the conversation.

Confirm deletion

Are you sure you want to delete this thread? This action is irreversible.