Mot interdi pour inscription
ivan
-
ivan -
ivan -
Bonjour,
j'ai fait le code pour verifier si le pseudo et pris ou libre donc
j'ai fais une page mot_interdit
j'ai pensai a faire sur ma page mot cinterdit.php
regex qui vérifierai si le pseudo contient des caractères corrects : /[a-z0-9.-]+/i
et un autre pour dire ce pseudo est interdit
donc si tape caca pout etc...
il met ce pseudo est interdit
je voudrais qqun puisse m'aider a faire le code avec les mot interdit et carractere correcte
merrci de votre aide
j'ai fait le code pour verifier si le pseudo et pris ou libre donc
// on verifie si le pseudo est libre
function writediv(texte)
{
document.getElementById('pseudobox').innerHTML = texte;
}
function verifPseudo(pseudo)
{
if(pseudo != '')
{
if(pseudo.length<2)
writediv('<span class="prie"><b>'+pseudo+' :</b> ce pseudo est trop court</span>');
else if(pseudo.length>30)
writediv('<span class="prie"><b>'+pseudo+' :</b> ce pseudo est trop long</span>');
else if(texte = file('../includes/verifpseudo.php?pseudo='+escape(pseudo)))
{
if(texte == 1)
writediv('<span class="prie"><b>'+pseudo+' :</b> ce pseudo est deja pris</span>');
else if(texte == 2)
writediv('<span class="libre">'+pseudo+' :</b> ce pseudo est libre</span>');
else
writediv(texte);
}
}
}
function file(fichier)
{
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return(false);
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if(xhr_object.readyState == 4) return(xhr_object.responseText);
else return(false);
}
j'ai fais une page mot_interdit
j'ai pensai a faire sur ma page mot cinterdit.php
regex qui vérifierai si le pseudo contient des caractères corrects : /[a-z0-9.-]+/i
et un autre pour dire ce pseudo est interdit
donc si tape caca pout etc...
il met ce pseudo est interdit
je voudrais qqun puisse m'aider a faire le code avec les mot interdit et carractere correcte
merrci de votre aide
9 réponses
-
Salut,
Et ben il suffit de créer un tableau contenant les mots interdits ...$wrong = array('caca', 'pipi');
... et d'ajouter une vérification du genre ...if(in_array($pseudo, $wrong)) echo 'Pseudo inapproprié.'; // Ou : echo 3;
... et puis dans la fonction "verifPseudo", il suffit d'ajouter un deuxième "else if" qui vérifiera si texte est égale à 3 (cas ou le pseudo est inapproprié).
Mettez en résolu quand c'est résolu ... -
merci donc dans la page verifpeudo.php
j'ai rajoute a la fin
<?php // // VERIFICATION EN LIVE DU PSEUDO // // CONNECION SQL include("../includes/pdo.inc.php"); if(isset($_GET['pseudo'])){ // VERIFICATION $result = $pdo->prepare("SELECT membre_pseudo FROM forum_membres WHERE membre_pseudo=?"); $result->execute(array($_GET['pseudo'])); if($result->rowCount() < 1) echo '0'; else echo '1'; }else{ echo -1; } // j'ajoute if else pour mot interdit else{ echo -3; } ?>
et sur la page inscription.js
// on verifie si le pseudo est libre function writediv(texte) { document.getElementById('pseudobox').innerHTML = texte; } function verifPseudo(pseudo) { if(pseudo != '') { if(pseudo.length<2) writediv('<span class="prie"><b>'+pseudo+' :</b> ce pseudo est trop court</span>'); else if(pseudo.length>30) writediv('<span class="prie"><b>'+pseudo+' :</b> ce pseudo est trop long</span>'); else if(texte = file('../includes/verifpseudo.php?pseudo='+escape(pseudo))) { if(texte == 1) writediv('<span class="prie"><b>'+pseudo+' :</b> ce pseudo est deja pris</span>'); else if(texte == 2) writediv('<span class="libre">'+pseudo+' :</b> ce pseudo est libre</span>'); else writediv(texte); } } } function file(fichier) { if(window.XMLHttpRequest) // FIREFOX xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject) // IE xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); else return(false); xhr_object.open("GET", fichier, false); xhr_object.send(null); if(xhr_object.readyState == 4) return(xhr_object.responseText); else return(false); } /// ici on ajoute les mots interdit $wrong = array('caca', 'pipi'); if(in_array($pseudo, $wrong)) echo 'Pseudo inapproprié.';
merci si tu peux m'aider a faire ce code -
Non,
Il faut faire la différence entre PHP et Javascript.
Il faut que tu comprennes que Javascript est une technologie back-end, ce qui veut dire qu'il s'exécute coté client (sur les PC et non pas sur le serveur), donc, un utilisateur mal intentionné peut facilement modifier le contenu de tes fichiers Javascript (qui sont sur son PC) afin de sauter/éviter toute les vérifications (mot court, mot long ...), donc la couche de sécurité la plus importante c'est coté serveur (PHP), Javascript est insuffisant a lui seul.<?php include("../includes/pdo.inc.php"); $wrong = array('caca', 'pipi'); if(isset($_GET['pseudo'])) { if(strlen($_GET['pseudo']) < 2) echo 'Pseudo trop court.'; elseif(strlen($_GET['pseudo']) > 30) echo 'Pseudo trop long.'; elseif(in_array($pseudo, $wrong)) echo 'Pseudo inapproprié.'; else { $result = $pdo->prepare(" SELECT membre_pseudo FROM forum_membres WHERE membre_pseudo = ?"); $result->execute(array($_GET['pseudo'])); if($result->rowCount() > 0) echo 'Pseudo déjà pris.'; else echo 'Pseudo disponible.'; } } ?>
function verifPseudo(pseudo) { if(pseudo.length < 2) writediv('<span class="prie"><b>'+pseudo+' :</b> ce pseudo est trop court</span>'); else if(pseudo.length > 30) writediv('<span class="prie"><b>'+pseudo+' :</b> ce pseudo est trop long</span>'); else { var texte = file('../includes/verifpseudo.php?pseudo='+escape(pseudo)); writediv('<span class="libre"><b>'+pseudo+' :</b>'+texte+'</span>'); } }
-
merci de ton aide je vien de tester mais ca ne veux pas afficher l'echo pouiur dir mot interdit
donc je résume
verifpseudo.php
include("../includes/pdo.inc.php"); $wrong = array('caca', 'pipi'); if(isset($_GET['pseudo'])) { if(strlen($_GET['pseudo']) < 2) echo 'Pseudo trop court.'; elseif(strlen($_GET['pseudo']) > 30) echo 'Pseudo trop long.'; elseif(in_array($pseudo, $wrong)) echo 'Pseudo inapproprié.'; else { $result = $pdo->prepare(" SELECT membre_pseudo FROM forum_membres WHERE membre_pseudo = ?"); $result->execute(array($_GET['pseudo'])); if($result->rowCount() > 0) echo 'Pseudo déjà pris.'; else echo 'Pseudo disponible.'; } } ?>
inscription.js// on verifie si le pseudo est libre function verifPseudo(pseudo) { if(pseudo.length < 2) writediv('<span class="prie"><b>'+pseudo+' :</b> ce pseudo est trop court</span>'); else if(pseudo.length > 30) writediv('<span class="prie"><b>'+pseudo+' :</b> ce pseudo est trop long</span>'); else { var texte = file('../includes/verifpseudo.php?pseudo='+escape(pseudo)); writediv('<span class="libre"><b>'+pseudo+' :</b>'+texte+'</span>'); } }
ca ne veux pas afficher la phrase qd je met caca pipi -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
merci je viens retenter ça ne marches plus qd je tape un pseudo sur mon imput
dc voilà mon bout de formulaire
<div class="inscription parente"> <div class="inscription1">Nom d'utilisateur :*</div> <div class="inscription2"><input type="text" name="pseudo" id="pseudo" onKeyUp="verifPseudo(this.value)" value="<?php echo savedInputValue("pseudo"); ?>" /></div> <div class="inscription3"><span class="boxVerif" id="pseudobox"></span>Caractères autorisés : lettres, chiffres, tiret, point</div> <div class="inscription4"><img src="../design/<?php echo getDesignName(); ?>/images/inscription/no.png"/></div> </div>
là j'amis sur l cadre inscription3 : Caractères autorisés : lettres, chiffres, tiret, point et le cadre inscription une image rouge no.png
et quand il vas mettre un pseudo libre ça doit effacer Caractères autorisés : lettres, chiffres, tiret, point pour remplacer par le pseudo qui a choisit et l'image no.png doit se mettre yes.png
voilà mon lien de la page
http://leprojet.legtux.org/membre-inscription.html
donc le cadre
il faut remplacer Caractères autorisés : lettres, chiffres, tiret, point par le pseudo qui ayua ms dans l'imput
et l'image no.png remplacera par l'image yes.png
merci d ta patiente -
là j'ai refait de a à z
// on verifie si le pseudo est libre function writediv(texte) { document.getElementById('pseudobox').innerHTML = texte; } function verifPseudo(pseudo) { if(pseudo.length < 2) writediv('<span class="prie"><b>'+pseudo+' :</b> ce pseudo est trop court</span>'); else if(pseudo.length > 30) writediv('<span class="prie"><b>'+pseudo+' :</b> ce pseudo est trop long</span>'); else { var texte = file('../includes/verifpseudo.php?pseudo='+escape(pseudo)); writediv('<span class="libre"><b>'+pseudo+' :</b>'+texte+'</span>'); } } function file(fichier) { if(window.XMLHttpRequest) // FIREFOX xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject) // IE xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); else return(false); xhr_object.open("GET", fichier, false); xhr_object.send(null); if(xhr_object.readyState == 4) return(xhr_object.responseText); else return(false); }
et
<?php include("../includes/pdo.inc.php"); $wrong = array('caca', 'pipi'); if(isset($_GET['pseudo'])) { if(strlen($_GET['pseudo']) < 2) echo 'Pseudo trop court.'; elseif(strlen($_GET['pseudo']) > 30) echo 'Pseudo trop long.'; elseif(in_array($pseudo, $wrong)) echo 'Pseudo inapproprié.'; else { $result = $pdo->prepare(" SELECT membre_pseudo FROM forum_membres WHERE membre_pseudo = ?"); $result->execute(array($_GET['pseudo'])); if($result->rowCount() > 0) echo 'Pseudo déjà pris.'; else echo 'Pseudo disponible.'; } } ?>
là si je tape caca ou pipi il ne met pas mon echo 'Pseudo inapproprié.';
merci de ton aide -
Essayer comme ceci...
elseif(in_array($_GET['pseudo'], $wrong)) echo 'Pseudo inapproprié.'; -
merci ca marche
mainenant il faut que je trouves la liste des mot interdit
es ce que ta un lien ou il y a tout les mot
sinon je vais chercher -
merci d'avance pour ton aide
si je supprime les mots interdit j'ai qu'a juste mettre un commentaire sur la ligne array
// aray etc....
et sinon pour les carrateres speciaux
ne pas mettre des _ ou- etc..
je met un autre array avec les tirets etc...