identifiant utilisateur auto-incrémenté

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • identifiant utilisateur auto-incrémenté

    Bonjour,
    J'ai besoin que lors de la création d'un compte utilisateur (via virtuemart ou directement depuis joomla) un numéro incrémenté soit donné à l'utilisateur au lieu de lui demander un identifiant.
    Quelqu'un aurait une solution ?
    Merci d'avance aux bonnes volontés.
    Cordialement
    Kris
    infographie - cartographie (et web en cours d'apprentissage)
    http://www.graphicom.tm.fr

  • #2
    Re : identifiant utilisateur auto-incrémenté

    Bonjour,

    J'ai créé un plugin qui pourra vous aider : http://www.conseilgouz.com/index.php...uto-incremente

    Il peut être utilisé seul ou avec form_xml_override qui permet d'overrider le fichier registration.xml.

    En espérant que cela vous aide,

    Pascal
    If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

    Commentaire


    • #3
      Re : identifiant utilisateur auto-incrémenté

      Bonjour pmleconte,
      Merci pour l'info. je viens de tester, c'est pas mal du tout, mais le problème que j'ai rencontré, c'est que ça envoie un message au nouvel utilisateur en lui disant que son identifiant est 0000, ce qui est faux (c'est la default value dans registration.xml). Du coup, il lui est impossible de se logguer car il ne connait pas son identifiant (qui est fourni automatiquement, mais ce n'est pas le bon dans le mail).

      D'autre part mon souhait serait d'avoir un numéro incrémenté non pas à partir de l'id (ce qui est une bonne idée néanmoins) mais à partir du dernier numéro de membre (7550 par exemple). Peut être que la solution serait de se baser sur une valeur du fichier xml.

      Le probleme qui existe néanmoins, c'est que la modif par un admin dans le backoffice d'un utilisateur modifie son identifiant, ce qui est dangereux pour les anciens users qui auraient alors un autre numéro. Sans doute idem pour le frontend, Une solution ?
      Cordialement
      Kris
      infographie - cartographie (et web en cours d'apprentissage)
      http://www.graphicom.tm.fr

      Commentaire


      • #4
        Re : identifiant utilisateur auto-incrémenté

        Bonjour,

        En fait, j'ai simplifié un peu la procédure: oubliez mon plugin autonum....

        Copiez le fichier default.php du répertoire components\com_users\views\registration\tmpl dans le répertoire templates/<votre template>/html/com_users/registration.

        Ensuite, on ajoute les lignes suivantes juste après JHtml::_('behavior.formvalidator');

        Code:
        // récupération du dernier numero connu
        $doc = JFactory::getDocument();
        				$db = JFactory::getDbo();
        				$db->setQuery('SELECT max(id)  from #__users');
        				$id = $db->loadResult();
        
        $js = "
                jQuery(document).ready(function($){
        
                    // Define the variables
                    var regForm     = $('#member-registration');
                    var name        = regForm.find('#jform_username');
                    name.parents('.control-group').hide();
                    // Add a default value to the name field
                    name.val('".($id+1)."');
        
                });    
            ";    
        $doc->addScriptDeclaration($js);
        Donc, cela récupère le dernier id connu (là j'ai pris depuis _users, mais vous pouvez le prendre ailleurs dans la base de données), puis j'ai ajouté 1 et j'ai caché la zone Nom Utilisateur.

        C'est plus simple et vous pouvez l'adapter selon vos besoins.

        Pascal
        Dernière édition par pmleconte à 14/08/2016, 15h27
        If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

        Commentaire


        • #5
          Re : identifiant utilisateur auto-incrémenté

          Juste une remarque: si 2 utilisateurs essaient de s'enregistrer en même temps, ou qu'un utilisateur reste sur sa page d'enregistrement sans bouger pendant que quelqu'un autre crée un autre utilisateur, un des 2 utilisateurs pourra avoir le message d'erreur : "L'identifiant que vous souhaitez n'est pas disponible. Veuillez en choisir un autre."

          C'est une protection de la base données, donc, on ne pourra jamais avoir 2 utilisateurs avec le même n° d'identification.

          Pour celui qui a eu l'erreur, il suffit de re-soumettre le formulaire pour obtenir un nouveau no.

          Pascal
          If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

          Commentaire


          • #6
            Re : identifiant utilisateur auto-incrémenté

            Wahoooouuu ca ma l'air super ca. Je teste dès que j'ai accès à lordi et je reviens vous dire.
            Merci et à bientot
            infographie - cartographie (et web en cours d'apprentissage)
            http://www.graphicom.tm.fr

            Commentaire


            • #7
              Re : identifiant utilisateur auto-incrémenté

              Bonjour,
              De retour de vacances et enfin je teste. Encore merci pour avoir proposé cela.
              C'est génial Ça permet même de changer l'identifiant et celui-ci est bien conservé (alors que la solution précédente ne le permettait pas).
              Seul soucis quand même, le numéro d'adhérent n'est pas incrémenté de +1 mais de 0. Donc id=887 d'ou identifiant=887.
              si je mets name.val('".($id+2)."');
              j'ai id=890 alors identifiant=891.
              si je mets name.val('".($id+12)."');
              j'ai id=891 alors identifiant=902.
              la logique est respectée mais pourquoi +1 en mettant +2 ?
              Cordialement
              Kris
              infographie - cartographie (et web en cours d'apprentissage)
              http://www.graphicom.tm.fr

              Commentaire

              Annonce

              Réduire
              Aucune annonce pour le moment.

              Partenaire de l'association

              Réduire

              Hébergeur Web PlanetHoster
              Travaille ...
              X