Télécharger le zip
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; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mercic'est fait + quelques corrections
Très bonne idée wizard512 ! :)Je prends !
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 ^^
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++
Qui utilise encore des versions aussi obsolètes de navigateurs ?
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é.
en parle de getElementById mais, eske ie 4 supporte innerHTML ??
oui, innerHTML est supporter par IE 4 et plus......mais pas par les versions précédentes de IE.
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...)
Il faut noter aussi que innerHTML n'est pas valide DOM !
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 );}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 erreurquelq un aurait il une idée?
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
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 :)
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 instructionC'est pas mieux comme ca ? :pDernière chose, à la fin, pour traiter les éléments du tableau, un simple foreach aurait suffit ;).C'est tout pour le moment.
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..-qsEt 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.
merci rafoul :)c'est pour demain,car là c'est trop tard
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.
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éesSa gestion est sensée être la suivante :Je récupère par ftp le fichier comment.txtJe le modifie sur ma machineJe 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 ligneet 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
salutquelle relation avec cette source :stu doit poster ça aux forum's
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
Bonsoir l'image ne s'affiche pas ...Merci d'avance !
salut,si l'image ne s'affiche pas, c'est parce que l'extension gd_2 n'est pas activé chez toi
Comment l'activer ?
dans php.initu cherche "gd2.dll"tu trouves la ligne;extension=php_gd2.dllou bien#extension=php_gd2.dlltu enleves le ';' ou '#' et tu sauvgarde tout et tu redémmares les servicesbiensur c'est en local
Je ne trouve pas php.ini (wamp5) ...
Ah si mais l'image est remplacée par un carré avec une croix rouge
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 probvisite le demo:http://abdilah.freehostia.com/formulaire
Si ...
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 AJAXAh 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 !
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...
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 :-)
brocolis78 > de quel mail tu parles ?
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte