begin process at 2008 05 16 04:31:47
1 173 215 membres
57 nouveaux aujourd'hui
13 970 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

FORMULAIRE D'ENREGISTREMENT(AJAX+CODE SECURITÉ+STYLÉ)


Information sur la source

Catégorie :Formulaires Classé sous : formulaire, enregistrement, codesecurité, inscription, ajax Niveau : Débutant Date de création : 16/05/2007 Date de mise à jour : 21/05/2007 12:58:53 Vu / téléchargé: 14 384 / 3 776

Note :
8 / 10 - par 7 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (34)
Ajouter un commentaire et/ou une note

Description

simple formulaire d'enregistrement(l'interet pas d'actualisation de la page+code sécurité)

demo sur : http://abdilah.freehostia.com/formulaire
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

16 mai 2007 19:05:46 :
!
16 mai 2007 19:09:04 :
capture :)
16 mai 2007 20:04:05 :
:)²
21 mai 2007 12:58:53 :
mise jour :) merci Skreo et wizard512
  • signaler à un administrateur
    Commentaire de wizard512 le 16/05/2007 19:33:24

    Joli code, sauf qu'il fodrait peut etre changer ce bout la :

    "document.getElementById('msg')"

           par celui si

    "getElement( 'msg' )"

    et rajouter la fonction suivante,
    pour une meilleur compatibilité des navigateurs....

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    function getElement( id )
    {
        if ( document.getElementById )
        {
             return document.getElementById( id );
        }

        if ( document.layers )
        {
             return document.id;
        }

        return document.all.id;
    }

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • signaler à un administrateur
    Commentaire de amezghal le 16/05/2007 20:04:52

    merci
    c'est fait + quelques corrections

  • signaler à un administrateur
    Commentaire de codefalse le 18/05/2007 10:47:40 administrateur CS

    Très bonne idée wizard512 ! :)
    Je prends !

  • signaler à un administrateur
    Commentaire de Skreo le 18/05/2007 13:14:47

    wizard512, ceci est totalement inutile car getElementById est géré par tous les navigateurs depuis bien longtemps.

    Sinon amezghal, ton code a l'air pas mal dans l'ensemble, j'apprécie la validité du code xhtml et le js propre. Par contre il est toujours préférable d'externaliser le js et le css, pour des questions de propreté, de validité, et de chargement (un fichier .js ou .css sera mis en cache, alors que directement dans la page il sera rechargé à chaque fois).

    Côté php par contre j'aime pas vraiment ton code. Déjà il est mal indenté, et je te conseillerais d'utiliser les simples quotes ' au lieu des doubles quotes " pour tes chaînes de caractères. Et puis ce n'est pas une bonne idée d'utiliser la fonction array_push alors qu'un opérateur [] peut la remplacer en augmentant les performances et en améliorant la lisibilité.
    Remplace donc ça :
    array_push($erreurs,"pseudo: seulement des chiffres et des nombres , entre 4 et 20 caracteres");

    Par ça :
    $erreurs[] = 'Pseudo: seulement des chiffres et des nombres, entre 4 et 20 caractères';

    Humm et puis je pense que ton captcha est trèèèèès facile à lire avec un OCR, il faudrait donc t'attaquer un peu à faire un captcha plus évolué (rotation des caractères, couleurs, déformations).
    Voilà j'ai fini de râler ^^

  • signaler à un administrateur
    Commentaire de wizard512 le 18/05/2007 21:17:22

    Skreo > non pas du tous certaine version de quasiment tous les navigateurs ne prennent pas en charge "getElementById"....

    Comme par exemple IE qui la prit en charge que a partir de la version 4,
    NS a partir de la version 4 aussi, ....

    Donc je croie que le rajout de ce petit bout de code est loin d'etre inutile...

    Exemple d'article sur le sujet :
    "http://www.metalusions.com/backstage/articles/8/"

    Bon codage i++

  • signaler à un administrateur
    Commentaire de webdeb le 18/05/2007 23:04:32

    Qui utilise encore des versions aussi obsolètes de navigateurs ?

  • signaler à un administrateur
    Commentaire de wizard512 le 18/05/2007 23:07:04

    Certain utilisateurs ignorant, et même si sa simbolise juste 5%
    c'est comme même 5% !!!
    c'est pour sa qu'il ne faut pas exclure les minoriters quelqu'elle soit....

    ...c'est avec des minorités qu'on fait une majorité.

  • signaler à un administrateur
    Commentaire de amezghal le 19/05/2007 00:23:16

    en parle de getElementById mais, eske ie 4 supporte innerHTML ??

  • signaler à un administrateur
    Commentaire de wizard512 le 19/05/2007 10:09:53

    oui, innerHTML est supporter par IE 4 et plus...
    ...mais pas par les versions précédentes de IE.

  • signaler à un administrateur
    Commentaire de Skreo le 19/05/2007 11:42:13

    Et l'objet XHR ?
    Quand je regarde les stats de mon sites, sur 137 431 visiteurs j'ai 0,00 % de visiteurs ayant la version 4 de IE (5 visiteurs), sachant que le taux de visiteurs de mon site utilisant IE est au dessus de la moyenne avec 82,97 % au total...
    A ce niveau là je ne pense pas qu'il soit nécessaire de donner des alternatives à toutes les fonctions non supportées par IE4, en tenant compte du poids qu'elle peuvent prendre (un fichier js trop lourd peut être très désagréable, je parle en connaissance de cause...)

  • signaler à un administrateur
    Commentaire de webdeb le 19/05/2007 12:31:45

    Il faut noter aussi que innerHTML n'est pas valide DOM !

  • signaler à un administrateur
    Commentaire de wizard512 le 19/05/2007 19:41:55

    Skreo  > Certe apparament parmit tous les visiteurs de ton site
             il n'y aurai personne qui utilise IE 4....et?
             Supposont qu'il y ait actuellement un navigateur voir plusieurs
             ( IE 4 comme par hasard ) sur ton site,
             et qu'il ne puisse maleureusement pas utilliser "completement"
             ton site...

             ...sa ne vodrait pas le cout de rajouter seulement quelque
             centaine d'octets pour assuré une meilleur compatibilité?
             ( précisément 235 octets si tu veux parler de la taille )

             Dans tous les codes orienter web,
             que je fais ou que j'ai fais j'essaye toujours d'assurer
             une compatibilité maximum, pour que tous le monde sois a l'aise.
             Et pourquoi ne pas en faire autant pour ce code?


    WEBDEB > pourquoi pas redéfinir innHTML via une fontion?
             Aprés avoir vu l'article suivant,
             j'ai décider de créer la fonction innerHTML( id , content )
             plus bas qui elle est valide DOM....


             url :

             http://www.journaldunet.com/developpeur/tutoriel/dht/050524-javascript-innerhtml-equivalent-dom-getelementbyid-replacedata.shtml

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    var innerHTML = function( id , content )
    {
        longueurCible = getElement( id ).firstChild.length;
        getElement( id ).firstChild.replaceData( 0 , longueurCible , content );
    }

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • signaler à un administrateur
    Commentaire de jackie0000 le 21/05/2007 09:21:21

    j ai deux erreurs générées
    - l  image du code n est pas affichée
    - meme si je saisie un pass diff de son re-pass on me renvoie pas cette erreur
    quelq un aurait il une idée?

  • signaler à un administrateur
    Commentaire de amezghal le 21/05/2007 13:01:53

    j'ai mis a jour la source
    -séparation de js et css.
    -amélioration captcha
    -simples cotes

    pour afficher le captcha(image code) le serveur doit supporté la biblio gd

  • signaler à un administrateur
    Commentaire de raffoul le 24/05/2007 01:50:08

    L'idée est bonne mais bon on est là pour critiquer lol. Dans le bon sens du terme :).

    La vérification AJAX est bonne mais on fait comment si javascript est désactivée ou si le navigateur n'est pas compatible AJAX ou JS. Ben la personne ne pourra pas s'enregistrer. Pourquoi ? car il n'y a pas de solution de rechange.

    Donc, dans ton fichier JS,
    if (Oajax){
    // tu vérifie ici avec AJAX
    }
    else{
    // simple vérification javascript si AJAX non opérationel
    }

    Et puis, tu redirige ton formulaire vers une page spécifique pour inscrire le visiteur qui n'a pas JS. Après, tu peux jouer aussi avec les balises <noscript> pour ceux qui n'ont pas JS. Enfin, il y a plein de solutions.

    Et à ce moment là, ton code sera complet et accessible à tous, du moins je pense :)

  • signaler à un administrateur
    Commentaire de raffoul le 24/05/2007 02:04:44

    Je viens de revoir le code.
    Tu fais deux fois la même vérication : voir si la longueur de ton mot de passe est inférieur à 4. Plutôt que de tester 2 fois, tu stock le résultat de ton test dans une variable et tu la réutilise après.

    exemple :
    if (strlen($champ) < 4)
    $booleen = false;

    if (tanouvellecondition && $booleen=false)
    > ton instruction

    C'est pas mieux comme ca ? :p

    Dernière chose, à la fin, pour traiter les éléments du tableau, un simple foreach aurait suffit ;).

    C'est tout pour le moment.

  • signaler à un administrateur
    Commentaire de raffoul le 24/05/2007 02:30:35

    C'est encore moi lol. J'ai regardé les regex.

    Je pense qu'il faudrait améliorer le regex de vérification du pseudo : ~^[a-zA-Z0-9\._-]{4,20}$~ car de la façon dont tu la fais, l'utilisateur pourra commencer ou terminer son pseudo par un . ou un - ou _
    Je pense qu'il faudrait le modifier de telle sorte que ces caractères ne s'affichent qu'au milieu du champ rentré par l'utilisateur, et également que l'utilisateur ne puisse écrire à la suite plusieurs de tes caractères optionelles : ._-

    Car là un pseudo comme raffoul--_. ca passe :s ou encore --raffoul..-qs

    Et améliorer la vérif du mot de passe, ça peut être bien aussi avec un petit regex. Par exemple, vérification qu'il ne contienne pas de caractères spéciaux, espace, accents ou autres.

  • signaler à un administrateur
    Commentaire de amezghal le 24/05/2007 02:33:08

    merci rafoul :)
    c'est pour demain,car là c'est trop tard

  • signaler à un administrateur
    Commentaire de raffoul le 24/05/2007 16:28:19

    Je savais bien que j'avais oublié quelque chose. Il faut que tu vérifie également que le pseudo n'est pas pris et que l'adresse email n'est pas déjà utilisée. Car ce serait quand même dommage d'avoir plusieurs comptes avec le même pseudo et la même adresse email !

    Pour ta création d'image, c'est pas mal mais tu entres 34 3-4fois pour le nombre de caractères de la string. Plutôt que de réécrire à chaque fois 34, tu mets une constante en haut de ta page.
    define('NB_CARACTERES_IMAGE',34);
    Un truc comme ca.

    Autre idée si t'as le temps :
    Et je pense aussi qu'il serait bon d'utiliser AJAX de tel façon qu'il vérifie tes champs au fur et à mesure que tu les remplis. En gros, dès que le champ est déselectionné, la vérification est lancé et le message d'erreur apparait s'il y a besoin sinon par exemple tu colores ton champ en vert.

  • signaler à un administrateur
    Commentaire de macada le 27/05/2007 19:28:08

    Bonjour tout le monde,
    Voilà, j'aimerais bien avoir vos conseils.

    J'ai fait un site web avec des pages html et php mais sans rien y connaître ni à l'un, ni à l'autre.
    Si ce n'est à force de copier-coller, d'essai-erreurs, être capable de reperer à peu près les paramètres et les modifier.
    Tout ça pour vous dire, qu'il faut me parler simplement mais alors très simplement...:-)

    Mon problème : le livre d'or !
    J'ai pris 2, 3 de vos sources et j'ai réussi à en mettre un en oeuvre. Un qui n'utilise pas de base de données
    Sa gestion est sensée être la suivante :
    Je récupère par ftp le fichier comment.txt
    Je le modifie sur ma machine
    Je le remets sur le serveur (free en l'occurrence)
    Problème : il est tout chamboulé quand je le réaffiche à partir du site
    (et ceci même si je ne modifie rien)
    J'ai pensé à un problème d'encodage de texte pendant l'un des 2 transferts (précisons que je suis sous Mac OX) mais mes différents tests n'ont rien donné.

    Je vois différentes solutions (avec votre aide) :
    - soit vous pouvez me dire exactement comment faire pour encoder correctement les transferts
    - soit vous avez/connaissez un source (qui marche !) qui permet une administration en ligne

    et dans le 2ème cas, je ne suis pas contre l'utilisation d'une base de données, si elle me permet d'attacher des commentaires spécifiques à certaines pages de mon site (comme dans les blogs où les commentaires sont attachés aux posts où ils sont faits). Et puis, j'aimerais bien un minimum de sécurité (style recopier un code aléatoire "humain" pour vérifier que le posteur n'est pas une machine).

    Je suis trop difficile ?
    J'espère que non...

    Merci

  • signaler à un administrateur
    Commentaire de amezghal le 27/05/2007 20:12:54

    salut
    quelle relation avec cette source :s
    tu doit poster ça aux forum's

  • signaler à un administrateur
    Commentaire de macada le 27/05/2007 20:25:06

    Désolée Amezghal,

    j'ai mis ça là parce que ton source me semblait assez proche de ce que je recherche et que visiblement, il intéresse (j'ai trop trouvé de trucs nuls ailleurs)...et je n'avais pas vu qu'il y avait des forums.

    Mais, tu as raison, j'ai mis le message dans le forum

  • signaler à un administrateur
    Commentaire de Mopopolm le 23/06/2007 17:40:18

    Bonsoir l'image ne s'affiche pas ...

    Merci d'avance !

  • signaler à un administrateur
    Commentaire de amezghal le 23/06/2007 18:06:47

    salut,
    si l'image ne s'affiche pas, c'est parce que l'extension gd_2 n'est pas activé chez toi

  • signaler à un administrateur
    Commentaire de Mopopolm le 23/06/2007 18:16:43

    Comment l'activer ?

  • signaler à un administrateur
    Commentaire de amezghal le 23/06/2007 18:20:01

    dans php.ini
    tu cherche "gd2.dll"
    tu trouves la ligne
    ;extension=php_gd2.dll
    ou bien
    #extension=php_gd2.dll
    tu enleves le ';' ou '#' et tu sauvgarde tout et tu redémmares les services
    biensur c'est en local

  • signaler à un administrateur
    Commentaire de Mopopolm le 23/06/2007 18:31:51

    Je ne trouve pas php.ini (wamp5) ...

  • signaler à un administrateur
    Commentaire de Mopopolm le 23/06/2007 18:35:10

    Ah si mais l'image est remplacée par un carré avec une croix rouge

  • signaler à un administrateur
    Commentaire de amezghal le 23/06/2007 19:56:08

    carré avec une croix rouge, c'est utuliser par ie pour repmlacer les images qui ne s'affiche pas,donc tu n'a pas encore regler le prob
    visite le demo:http://abdilah.freehostia.com/formulaire

  • signaler à un administrateur
    Commentaire de Mopopolm le 24/06/2007 17:20:23

    Si ...

  • signaler à un administrateur
    Commentaire de Optitech le 25/06/2007 23:56:25

    Voilà mes impression après avoir testé avec ton exemple !

    Utilité d'axaj ici : AUCUNE ... si une sucharger le serveur :) Les quelque test que tu fait se font avec du JavaScript de base, même le test du code de l'image et bien sûr sans recharger la page :) Si j'étais toi je me mettrait à JavaScript d'urgence tu veras que c'est surper puissant avec du PHP même sans passer par AJAX

    Ah aussi j'ai trouvé une erreur : tu peux saisir deux mot de passe différent et ton code ne dit rien ! Voilà la raison, ce test :

    if($_POST['password1']!=$_POST['password2'] && strlen($_POST['password1'])<4){
    $erreurs[]='Veuillez entrer le meme mot de passe';
    }

    Ce message s'affiche si et sedulement si : Les deux mot de passe sont diférent ET que le permier mot de passe fait moins de 4 caractères, la solution pour corriger cela est simple à mettre en,  place mais je te laisse reflechir !

    Tient petit idée : regarde la boucle froeach ! Vraiment très pratique pour lister un tableau !

    Pour répondre au message de raffoul qui proposait de faire les test au fur et a meusure ! L'idée est super ! mais tu n'as besoin d'AJAX ! Avec un petit code JavaScript de base tu peu le faire !

    A quoi peu servir AJAX dans un formulaire comme celui-là a tester si le pseudo choisi n'est aps déjà pris ou si d'adresse email saisite n'ai pas déjà dnas la base de donnée !



  • signaler à un administrateur
    Commentaire de ashro le 26/02/2008 10:15:13

    Pour faire une remarque concernant les navigateurs... et IE4 (WIZARD512) : on est loin des 5%. Ok, ta remarque aura bientôt un an, mais on en était déjà loin je pense.

    Sur le site dont je m'occupe :

    1. Internet Explorer 581,925 73.80%
    v 7.0 319,458 54.90%
    v 6.0 262,191 45.06%
    v 5.5 253 0.04%
    v 5.01 17 > 0.00%
    v 5.0 4 > 0.00%

    2. Firefox 190,152 24.11%
    v2.0.0.12 88,338 46.46%
    v2.0.0.11 79,427 41.77%
    v1.5.0.12 3,309 1.74%
    v3.0 2,450 1.29%
    v2.0.0.6 2,042 1.07%
    v2.0 1,934 1.02%
    v2.0.0.9 1,647 0.87%
    v2.0.0.7 1,467 0.77%
    v2.0.0.4 1,205 0.63%
    v1.0.7 1,024 0.54%
    3. Safari 10,473 1.33%
    4. Opera 3,681 0.47%
    5. Mozilla 1,466 0.19%
    6. Camino 210 0.03%
    7. Netscape 159 0.02%
    8. Konqueror 121 0.02%
    9. Mozilla Compatible Agent 61 0.01%
    10. Playstation Portable 60 0.01%

    Donc je ne travaille pas pour les versions antérieures à la v6 pour IE. Faire que les choses tournent sous Safari est plus utile...

  • signaler à un administrateur
    Commentaire de brocolis78 le 23/03/2008 04:52:42

    Bonjour,

    Tout est parfait sauf que je ne sais pas où taper mon mail pour recevoir les données de ce formulaire...

    Merci de bien vouloir m'aider

    :-)

  • signaler à un administrateur
    Commentaire de amezghal le 23/03/2008 22:13:38

    brocolis78 > de quel mail tu parles ?

Ajouter un commentaire

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS