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é: 20 652 / 4 457

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

Cliquez pour voir la capture en taille normale
simple formulaire d'enregistrement(l'interet pas d'actualisation de la page+code sécurité)

demo sur : http://abdilah.freehostia.com/formulaire

 

Fichier Zip

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

Historique

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

Commentaires et avis

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

Discussions en rapport avec ce code source dans le forum

INSERT puis UPDATE [ par bricethenetman ] Salut j'ai un formulaire d'inscription qui aurait pu se réduire à une page mais pour des soucis d'esthetique je l'ai divisé en deux form_inscr.php et question formulaire [ par LoRdKiFlEx ] salutje suis en train de faire un script pour s'identifier et s'inscrire avec un page html il ya 2 champs : psuedo et mot de pass seulement quand je c Modifier table via formulaire [ par zgrominet ] Bonsoir,Je vais vous expliquer ce que j'veux exactement faire, ca sera plus simple a comprendre !J'ai un formulaire d'inscription a mon site et j'ai u Formulaire php vers XML [ par Adrien4 ] Bonjour, Suite &#224; un projet sur mon site, j'aurais besion d'un coup de pouce c&#244;t&#233; xml, ou je n'ai pas du tout de connaissances (j'exerce UPLOAD -> comment faire???? [ par attentio ] salut !!!! je voudrais savoir comment faire pour uploader un fichier.j'ai commencé quelques petites choses. en fait, j'ai un premier fichier nommé for Formulaire d'inscription [ par panpan ] Hello,Pour mon site, j'ai un formulaire d'inscription, et quand l'utilisateur oublie de remplir un champs ou fait une autre erreur ça lui affiche un m Remplir une feuille d'inscription via un formulaire web [ par nono3000 ] J'ai regarder les diff&#233;rents codes disponibles sur le site, mais ...je suis assez novice et je n'ai pas trouv&#233; ce que je cherchais en d&#233 un formulaire d inscription comme phpcs [ par liliandmax ] bonjour alors voial je recherche un formulaire d inscription assez proche du votre et j ai essaye de le faire moi meme mais oula la c dur donc si quel formulaire d'inscription avec securité contre les robot [ par testetrtr ] salut a tous , je cherche a securiser mon formulaire d'inscription a mon site. avec un le systeme de validation d'inscription avec code ( generer en i Rempir un champ de formulaire selon l'ID choisie dans une liste déroulante... [ par Anakinele ] Voil&#224; :J'ai une liste d&#233;roulante avec toutes mes ID correspondant &#224; mes enregistrement sur ma BDD.Je voudrais que lorsque je s&#233;lec


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

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

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,530 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.