Bonjour,
Afin d'éviter un double enregistrement de membre (email déjà enregistré), j'utilise la portion de code ci-dessous découverte dans un tuto, sauf que j'obtiens l'erreur indiquée sur le titre et la zone de code concernée est :
if(23000==$erreur[0]) // Le code d'erreur "23000" signifie "doublon" dans le standard ANSI SQL
{
preg_match("#Duplicate entry '(.+)' for key \d+#is", $erreur[2], $valeur_probleme);
$valeur_probleme = $valeur_probleme[1];
Le message d'erreur : Notice: Undefined offset: 1 in C:\wamp\www\monsite\modules\membres\inscription.php on line 161
Merci d'avance de votre aide
Modifié par ghisbass (24 Jun 2014 - 13:41)
      
      
    Afin d'éviter un double enregistrement de membre (email déjà enregistré), j'utilise la portion de code ci-dessous découverte dans un tuto, sauf que j'obtiens l'erreur indiquée sur le titre et la zone de code concernée est :
if(23000==$erreur[0]) // Le code d'erreur "23000" signifie "doublon" dans le standard ANSI SQL
{
preg_match("#Duplicate entry '(.+)' for key \d+#is", $erreur[2], $valeur_probleme);
$valeur_probleme = $valeur_probleme[1];
if(ctype_digit($id_membre))
        {
            $id_membre = (int)$id_membre;
            /* blablablabla... */
        }
        //Gestion des doublons
        else
        {
            // Changement de variable pour une variable plus lisible
            $erreur =& $id_membre;
            //On vérifie que l'erreur concerne bien un doublon
            if(23000==$erreur[0]) // Le code d'erreur "23000" signifie "doublon" dans le standard ANSI SQL
            {
                preg_match("#Duplicate entry '(.+)' for key \d+#is", $erreur[2], $valeur_probleme);
                $valeur_probleme = $valeur_probleme[1];
                if($email==$valeur_probleme)
                {
                    $erreurs_inscription[]="Vous vous êtes déjà inscrit !";
                }
                else
                {
                    $erreurs_inscription[]="Erreur ajout SQL : doublon non identifié présent dans la base de données";
                }
            }
            else
            {
                $erreurs_inscription[]=sprintf("Erreur ajout SQL : cas non traité (SQLSTATE : %d)",$erreur[0]);
            }
        }
Le message d'erreur : Notice: Undefined offset: 1 in C:\wamp\www\monsite\modules\membres\inscription.php on line 161
Merci d'avance de votre aide
Modifié par ghisbass (24 Jun 2014 - 13:41)