8722 sujets

Développement web côté serveur, CMS

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];


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)
Undefined Notice sont des erreur de bas niveau qui ne pose généralement pas de problème au niveau de l’exécution de ton code .
Ici si je ne m'abuse Offset 1 veut juste dire que tu as une variable avec une valeur null dans ton array situé à la ligne indiqué
De ce fait si tu as un soucis au niveau du code, cela ne vient pas d'une erreur de notice mais d'autre part !
J'espère t'avoir aidé
Bonne journée .