IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

[Chronoforme] Empêcher les doublons en base [Joomla!]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 6
    Par défaut [Chronoforme] Empêcher les doublons en base
    Bonjour à Tous,

    j'utilise le plugin Chronoform pour l'inscription à une newsletter,
    le formulaire ne compte qu'un champs dédié à l'insertion de l'email, puis le bouton submit.

    Le formulaire fonctionne bien dans son ensemble,
    les emails sont correctements enregistrés dans la bdd, et un mail de confirmation est bien envoyé aux nouveaux inscrits.

    Maintenant, je souhaiterai effectuer une vérification dans la bdd, de manière à empêcher les doublons,
    ainsi, dans l'idéal, je ne trouverai pas 2 fois le même email dans la bdd.
    Pour information, les visiteurs de mon site ne peuvent qu'être anonyme, je n'offre pas la possibilité de s'y inscrire.

    Je ne suis pas un très bon codeur, mais voici ce que j'ai commencé à mettre en place (les codes ne fonctionnent pas bien entendu)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    	$adressemail = $_POST['text_0'];
        $requete = mysql_query('SELECT mail_news FROM jos_chronoforms_News_inscription WHERE mail_news='$adressemail'') OR die('Erreur de la requête MySQL');  
        mysql_close();  
     
        while($resultat = mysql_fetch_array($requete))
        {  
             echo '<p>Votre email est déjà enregistré</p>';  
        }  
    ?>
    et mon autre tentative :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    	$adressemail = $_POST['text_0'];
        $requete = "SELECT mail_news FROM jos_chronoforms_News_inscription WHERE mail_news='$adressemail'" OR die('Erreur de la requête MySQL');  
    	$db->setQuery($requete);
    	$exist = $db->loadResult();
    	if (!empty($exist)){
    		return true;
    	}
    	else return false;
    ?>
    Pour information, j'ai inséré ces codes dans la section On Submit code - before sending email de la page Form Code.

    Auriez-vous une idée ??

    merci

  2. #2
    Membre très actif
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Par défaut
    Tu peux directement agir sur ta base de donnée.

    Il suffit d'y créer un INDEX UNIQUE sur le champ email. Lors de l’exécution d'une requête avec un même email, tu auras une erreur.

    Pour tes bouts de code, il faut savoir si t'es en MySQL ou en PDO.

    Pour une petite info, si tu veux une vérification PHP :

    - Pour vérifier s'il y a une ligne ou pas, il suffit de faire un rowCount (PDO) ou un mysql_num_row() (MySQL).

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 6
    Par défaut
    merci pour l'info, ça fonctionne à merveille.
    et pour répondre à ta question, ma base est en mysql.

    merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Flex4] empêcher les doublons dropés
    Par supertonic dans le forum Flex
    Réponses: 4
    Dernier message: 01/09/2010, 20h29
  2. Empêcher les doublons dans une table
    Par Niki59 dans le forum Langage
    Réponses: 2
    Dernier message: 16/11/2008, 11h33
  3. Empêcher les doublons dans le résultat de la requête
    Par bouba_95 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 17/07/2007, 18h32
  4. Empêcher les doublons
    Par sam01 dans le forum Requêtes
    Réponses: 3
    Dernier message: 19/12/2006, 21h32
  5. Empécher les doublon avec les post
    Par Death83 dans le forum Langage
    Réponses: 15
    Dernier message: 20/07/2006, 09h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo