VERIFIER UN CHAMP ET INTERDIRE DES CARACTERES

cs_crashtest Messages postés 105 Date d'inscription lundi 16 février 2004 Statut Membre Dernière intervention 28 août 2005 - 20 juin 2005 à 00:23
payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 - 16 déc. 2008 à 16:26
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/32168-verifier-un-champ-et-interdire-des-caracteres

payetonju Messages postés 436 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 2 juillet 2014 4
16 déc. 2008 à 16:26
pour la redirection tu fais
header("location: /tapage.php");
Et pour traiter les differents cas de redirection il faut que tu renvoies depuis ton formulaire sur la page courante, car ton traitement PHP se fait generalement en haut de page.
Et pour les variables si elles ne passent plus en POST passe les en SESSION.

Et la source en haut ne marche pas. Et quand elle marche, elel affiche juste uen erreur et on continue a naviguer quand meme.
cs_crashtest Messages postés 105 Date d'inscription lundi 16 février 2004 Statut Membre Dernière intervention 28 août 2005
8 janv. 2006 à 11:09
lu désolé je connai juste un minimum en php sorai ete en javascript jorai pu taider mai la non dsl @++
Allen912 Messages postés 6 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 26 mars 2006
8 janv. 2006 à 00:13
Bonjour,
Comment faire ensuite pour rediriger vers la page qui traite le formulaire ?
J'imagine que ce n'est pas directement possible (les variables ne passe plus en POST...)

J'ai fait ceci
(...)
else{ // Le champ est valide, traitement du formulaire
$_SESSION['session_qt']=$_POST['qt'];
$_SESSION['session_idp']=$_POST['idp'];
<META http-equiv="refresh"; Content="0;URL='ajout.php'">
return;

Ou la page ajout traiterait les variables de sessions dans lesquelles j'ai été mettre les champs du formulaire...
Si vous pouviez m'aider, merci d'avance...
ilya79 Messages postés 9 Date d'inscription samedi 18 juin 2005 Statut Membre Dernière intervention 15 février 2007
20 juin 2005 à 00:59
re
et pour les commentaires redesolé pour les #, j'avais mis des // puis ca sortait tout en rouge une fois sur le site alors j'ai voulu essayer autre chosee... je modifie...
ilya79 Messages postés 9 Date d'inscription samedi 18 juin 2005 Statut Membre Dernière intervention 15 février 2007
20 juin 2005 à 00:49
desole ce que j'ai oublie c'est qu'il faut executer le script par un <form onSubmit="return(Verif())"> si vous l'executer au niveau du bouton a savoir ca marche pas... a + et merci pour la remarque! ;-)
cs_crashtest Messages postés 105 Date d'inscription lundi 16 février 2004 Statut Membre Dernière intervention 28 août 2005
20 juin 2005 à 00:38
Re,
enfin scuse se que je ve dire c'est pas qu'il ne marche pas ton script mais quand il n'y avait pas de caractère zarbe ba la errreur mais tien j'ai refait quelques modife encore aller @++
Il marche sous IE et sous FireFox

<html>
<head>
<title></title>
<script language="javascript">
function Verif()
{
rejet = false;//variable qui nous pemettra de valider ou pas le formulaire
falsechar="";//variable qui stockera les caracteres non valides trouvés
var non = new Array("/","'",""","\");//tableau des caracteres non valides, vous pouvez les modifier
//----début de la boucle qui verifie un a un chaque caractere saisi dans le champ
for (i=0 ; i <= MonFormulaire.MonChamp.value.length ; i++)
{
//----début de la boucle qui fait défiler les elements du tableau 'non' un a un pour les comparer aux caracteres du champ
for (y=0 ; y <= non.length ; y++)
{
//----debut de la condition (si le caractere i du champ correspond a la valeur y du tableau...)
if ((MonFormulaire.MonChamp.value.charAt(i)==non[y]))
{
rejet=true;//si un seul caractere invalide est trouvé l'envoi est arreté
//----enregistrement des caracteres invalides dans la variable falsechar
if (falsechar=="")
{
falsechar= non[y];
}else{
falsechar= falsechar+","+non[y];
}
//---fin enregistrement des caracteres invalides
}
//---fin de la condition de comparaison des elements saisi-tableau
}
//---fin de la boucle "éléments du tableau"
}
//---fin de la boucle "caracteres saisis"
//-----si des caracteres invalides sont trouvés...
if (rejet==true)
{
//---affichage de l'alerte
if (falsechar.length==1){alert(falsechar+" is an non authorised char ");}else{alert(falsechar+" are non authorised chars ");}
return;
//----si les caracteres sont valides....
}else{
alert('Bien joué, recomence encore une fois.');
return;
}
}
</script>
</head>


<form name="MonFormulaire" method="POST" action="javascript:Verif();">


</form>


</html>
cs_crashtest Messages postés 105 Date d'inscription lundi 16 février 2004 Statut Membre Dernière intervention 28 août 2005
20 juin 2005 à 00:23
Lu,
alors un truc les commentaire ne se font pas avec des # mais avec //
et aussi ton code ne marche pas, tien voila ton code légèrement modifié :

<html>
<head>
<title></title>
<script language="javascript">
function Verif()
{
rejet = false;//variable qui nous pemettra de valider ou pas le formulaire
falsechar="";//variable qui stockera les caracteres non valides trouvés
var non = new Array("/","'",""","\");//tableau des caracteres non valides, vous pouvez les modifier
//----début de la boucle qui verifie un a un chaque caractere saisi dans le champ
for (i=0 ; i <= MonFormulaire.MonChamp.value.length ; i++)
{
//----début de la boucle qui fait défiler les elements du tableau 'non' un a un pour les comparer aux caracteres du champ
for (y=0 ; y <= non.length ; y++)
{
//----debut de la condition (si le caractere i du champ correspond a la valeur y du tableau...)
if ((MonFormulaire.MonChamp.value.charAt(i)==non[y]))
{
rejet=true;//si un seul caractere invalide est trouvé l'envoi est arreté
//----enregistrement des caracteres invalides dans la variable falsechar
if (falsechar=="")
{
falsechar= non[y];
}else{
falsechar= falsechar+","+non[y];
}
//---fin enregistrement des caracteres invalides
}
//---fin de la condition de comparaison des elements saisi-tableau
}
//---fin de la boucle "éléments du tableau"
}
//---fin de la boucle "caracteres saisis"
//-----si des caracteres invalides sont trouvés...
if (rejet==true)
{
//---affichage de l'alerte
if (falsechar.length==1){alert(falsechar+" is an non authorised char ");}else{alert(falsechar+" are non authorised chars ");}
return (false);
//----si les caracteres sont valides....
}else{
alert('Bien joué, recomence encore une fois.');
return (true);
}
}
</script>
</head>


<form name="MonFormulaire">
</form>


</html>
Rejoignez-nous