1
+ <?php
2
+
3
+ namespace App \Http \Controllers ;
4
+
5
+ use Illuminate \Http \Request ;
6
+ use App \Mail \ContactFormMail ;
7
+ use Illuminate \Support \Facades \Mail ;
8
+
9
+ class ContactController extends Controller
10
+ {
11
+
12
+ public function index ()
13
+ {
14
+ return view ('contact ' );
15
+ }
16
+ public function submit (Request $ request )
17
+ {
18
+ // Vérifier le champ botcheck pour éviter les bots
19
+ if ($ request ->input ('botcheck ' )) {
20
+ return redirect ()->back ()->with ('error ' , 'Bot détecté. ' );
21
+ }
22
+
23
+ // Valider les données du formulaire
24
+ $ validatedData = $ request ->validate ([
25
+ 'fullName ' => 'required|string|max:255 ' ,
26
+ 'email ' => 'required|email ' ,
27
+ 'objet ' => 'required|string|max:255 ' ,
28
+ 'telephone ' => 'required|string|max:20 ' ,
29
+ 'message ' => 'required|string ' ,
30
+ ]);
31
+
32
+ // Préparer les données pour l'email
33
+ $ emailData = [
34
+ 'name ' => $ validatedData ['fullName ' ],
35
+ 'email ' => $ validatedData ['email ' ],
36
+ 'subject ' => $ validatedData ['objet ' ],
37
+ 'telephone ' => $ validatedData ['telephone ' ],
38
+ 'messageContent ' => $ validatedData ['message ' ],
39
+ ];
40
+
41
+ try {
42
+ // Envoyer l'email
43
+ Mail::to ('infos@richkoff.com ' )->send (new ContactFormMail ($ emailData ));
44
+
45
+ // Rediriger avec un message de succès
46
+ return redirect ()->back ()->with ('success ' , 'Votre message a été envoyé avec succès! ' );
47
+ } catch (\Exception $ e ) {
48
+ // Gérer les erreurs d'envoi d'email
49
+ return redirect ()->back ()->with ('error ' , 'Une erreur est survenue lors de l \'envoi de votre message. ' );
50
+ }
51
+ }
52
+ }
0 commit comments