Bonjour,
Afin d'éviter les doublons d'inscriptions dans ma base de données, j'ai mis une clé unique sur le champ numéro de téléphone (normalement il n'y qu'un numéro de téléphone par personne).
Le problème c'est que lorsqu'il y a un doublon, le message d'erreur est, pour un non-initié, incompréhensible (et peut laisser penser que c'est un bug du site).
Par exemple pour un doublon le message est le suivant
Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '0600000000' for key 'telephone' in C:\xampp\htdocs\sitesweb\formulaire\inscription.php:28 Stack trace: #0 C:\xampp\htdocs\sitesweb\formulaire\inscription.php(28): PDOStatement->execute() #1 {main} thrown in C:\xampp\htdocs\sitesweb\formulaire\inscription.php on line 28
Ma demande est toute simple aujourd'hui.
Est-il possible de personnaliser ce message de façon à avoir un message en français correct pour informer l'utilisateur qui voudrait entrer 2 fois le même numéro ?
Merci.
bonjour.
a toi d'afficher un message d'erreur clair et précis.
a la place de récupérer l'exception, on affiche le message.
avec le code ça sera plus facile.
Alors si tu tentes d'inserer une valeur unique dupliquée, tu aura une erreur PHP
Il faut d'abord "valider" la requete, tu vérifies par toi même si le numéro existe, si il existe tu fais un redirect back avec message d'erreur en session, si c'est bon tu lances la requete SQL
Pour l'inspiration:
https://github.com/laravel/framework/blob/5.3/src/Illuminate/Validation/Rules/Exists.php