Restreindre des caracteres dans un formulaire :( [Résolu]

Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Dernière intervention
1 juillet 2007
- - Dernière réponse : cs_Arnauti
Messages postés
418
Date d'inscription
mercredi 24 novembre 2004
Dernière intervention
26 septembre 2009
- 11 janv. 2006 à 16:42
Bonsoir tous le monde...

Voila j'aurai éventuellement besoin d'une aide sur une question que je me pose...
voila je souhaiterai dans un textarea (Imput) De form $_POST..
quand un membre saisie son texte le restreindre de facon a ce qu'il ne donne pas de coordonnés personnel genre ( email, adresse etc... )

Je m'explique :

si dans son texte un @ est present ---> message d'erreur ! "Il y a certains caracteres que vous avez tapé qui n'est pas autorisé"

Si dans son texte un / est present --> message d'erreur ! "Il y a certains caracteres que vous avez tapé qui n'est pas autorisé"

Si dans son message un http est present --> message d'erreur ! "Il y a certains caracteres que vous avez tapé qui n'est pas autorisé"

si dans son message --> 8 est present --> message d'erreur ! "Il y a certains caracteres que vous avez tapé qui n'est pas autorisé"

Quelqu'un c'est il faire cela ? me donner un exemple de lien ..
jai cherché un peu sur phpcs une source se rapprochant a ce que je cherche mais je n'ai pas trouvé :(

merci pour votre aide...

cordialement :)
Afficher la suite 

Votre réponse

14 réponses

Meilleure réponse
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
3
Merci
Hello,

si on passe par un bouton de validation, autant faire ça en php, alors.
Le mec soumet, on parse le contenu du $_POST du textarea avec des expressions régulières, ou simplement des strpos (). On peut même les virer, les censurer...
Quant au message affiché, ce n'est pas difficile non plus. Un div 'message', la construction d'une chaine $userMsg.
Si le traitement php renvoie une saisie interdite, on rempli le $userMsg (ça peut être un tableau aussi) abvec le message qui va bien.
dans la div : if (isset ($userMsg)) { echo $userMsg;}

et vlà.

Merci malalam 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de malalam
Messages postés
418
Date d'inscription
mercredi 24 novembre 2004
Dernière intervention
26 septembre 2009
3
Merci
Salut, je viens de poster une source pour faire ca, vas voir la-bas : http://www.phpcs.com/code.aspx?ID=35510

<hr size="2" width="100%">Si un des membres à poster une reponse qui convient, accepter là !

Merci cs_Arnauti 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_Arnauti
Messages postés
861
Date d'inscription
mardi 26 mars 2002
Dernière intervention
29 novembre 2006
0
Merci
Sael og blesuð



Regardez plutôt du côté de javascript pour cela => http://www.javascriptfr.com

Autrement strpos() => http://fr.php.net ...

Bon courage ...

NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Birgir Sigurðsson aka Sjón
Commenter la réponse de cs_sjon
Messages postés
215
Date d'inscription
mercredi 2 février 2005
Dernière intervention
9 avril 2010
0
Merci
Hello ,

Sjon a raison .. javascript pourra t'aider avec une tite fonction, car php ne renvoi pas de message à l'utilisateur

*********** Si cette réponse vous convient, merci de valider ce post ***********

ChaPaTa
Commenter la réponse de cs_chapata
Messages postés
418
Date d'inscription
mercredi 24 novembre 2004
Dernière intervention
26 septembre 2009
0
Merci
Salut, peut être que explode peux faire l'affaire, mais je ne sais pas comment l'utiliser, je ne sais même pas si ca marcherait.
Sinon, pour le javascript, le problème c'est que si l'utilisateur désactive javascript, le controle ne sert plus a rien.
A++
<hr size="2" width="100%">Si un des membres à poster une reponse qui convient, accepter là !
Commenter la réponse de cs_Arnauti
Messages postés
1218
Date d'inscription
mardi 20 décembre 2005
Dernière intervention
18 octobre 2012
0
Merci
salut
effectivement, c'est plutôt javascript
(formulaire=nom du form texte=nom du textarea)

<script language="javascript">
if(document.formulaire.texte.indexOf("@")!=-1)
{
alert("Certains caractères ne sont pas autorisés");return false;
}
</script>
Commenter la réponse de sidf
Messages postés
1218
Date d'inscription
mardi 20 décembre 2005
Dernière intervention
18 octobre 2012
0
Merci
avec une fonction
déclenchée par le bouton de validation
(...type='button' onclick="controle();"...)

<script language="javascript">
function controle()
{
if(document.formulaire.texte.indexOf("@")!=-1)
{alert("Certains caractères ne sont pas autorisés");return false;}
}
</script>
Commenter la réponse de sidf
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Dernière intervention
1 juillet 2007
0
Merci
Oui oui en effet ! je ne veux pas afficher de javascript ! et je sais que le php peut le faire merci malalam pour ta réponse... je vais voir ce que je peux en tirer.. je vous dis quoi ;)

merci beaucoup
Commenter la réponse de milkasoprano
Messages postés
70
Date d'inscription
samedi 2 avril 2005
Dernière intervention
6 février 2007
0
Merci
salut!
effectivement. a mon sens le strpos semble aller!!

++!
Commenter la réponse de cs_titeuf974
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Dernière intervention
1 juillet 2007
0
Merci
Bon malalam !! je t'adore je t'aime !! je suis fou amoureux de toi maintenant !!! merci pour le tuyaux !!!!!!!!! j'ai du lire au moins 15 fois ce que tu as mis dans ta phrase... j'avais énormement de mal a lire ce que tu avais mis pour mexpliquer le fonctionnement ....

:(

j'avais pas trop compris en fait pour le taper en php
apres 20 minute de relecture etc... j'ai tapé le code par rapport a ce que tu m'as dis avec la fonction strpos et le tableau (array) et a force j'ai tapé ceci :

<?
if(empty($_POST["submit"])){


}else{


$message = $_POST["message"];
$trouver = [mailto:'@' '@'];
$position = strpos($message, $trouver);


if ($position === false) {
echo "Votre requete a été executé avec succes"}

else {
echo "vous n'etes pas autorisé à afficher ce caractere";
echo "Numéro de Position : $position";
}


}
?>

merci encore ;)
Commenter la réponse de milkasoprano
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
0
Merci
C'est tout à fait ça :-) à part que j'avais "localisé" l'affichage du message d'erreur :-)

Et merci pour les déclarations ;-)
Commenter la réponse de malalam
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Dernière intervention
1 juillet 2007
0
Merci
heu juste encore un petit probleme

par exemple si j'installe un array()
genre :

<?
if(empty($_POST["submit"])){


}else{


$message = $_POST["message"];
$trouver = Array([mailto:'@' '@' ], '/', '0');


$position = strpos($message, $trouver);


if ($position === false) {
echo "Votre requete a été executé avec succes"; }

else {
echo "vous n'etes pas autorisé à afficher ce caractere";
echo "Numéro de Position : $position";
}
}
}
?>

ca ne marche malheureusement pas.. mis a part que je voudrai restreindre plusieurs caracteres ?
alors jai fait ceci :

$trouver = array();
$trouver[] = '@';
$trouver[]='/';

etc.. mais ca ne marche toujours pas ! enfin ci ca marche mais il prend en compte toujours la derniere valeur c'est a dire dans cette exemple : '/ '

et c dommage parce que je vois pas comment je pourrais faire ?
Commenter la réponse de milkasoprano
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
0
Merci
foreach ($trouver as $needle) { if ( false !($pos strpos ($message, $needle))) {
$position[$pos] = $needle;
}
}

if (isset ($position) && !empty ($position) && is_array ($position)) {
foreach ($position as $pos => $needle) {
echo 'Vous n\'êtes pas autoris&eacute; &agrave; afficher ', $needle, ' position ', $pos;
}
}

un truc dans le genre.
Commenter la réponse de malalam
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Dernière intervention
1 juillet 2007
0
Merci
waow un truc dans le genre ;) pas sur alors ! bon je vais voir ca merci encore pour ton aide :( dsl de tavoir dérangé
Commenter la réponse de milkasoprano

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.