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

milkasoprano 239 Messages postés jeudi 21 juillet 2005Date d'inscription 1 juillet 2007 Dernière intervention - 11 janv. 2006 à 01:37 - Dernière réponse : cs_Arnauti 418 Messages postés mercredi 24 novembre 2004Date d'inscription 26 septembre 2009 Dernière intervention
- 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
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 11 janv. 2006 à 11:00
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

codes-sources a aidé 78 internautes ce mois-ci

Commenter la réponse de malalam
Meilleure réponse
cs_Arnauti 418 Messages postés mercredi 24 novembre 2004Date d'inscription 26 septembre 2009 Dernière intervention - 11 janv. 2006 à 16:42
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

codes-sources a aidé 78 internautes ce mois-ci

Commenter la réponse de cs_Arnauti
cs_sjon 861 Messages postés mardi 26 mars 2002Date d'inscription 29 novembre 2006 Dernière intervention - 11 janv. 2006 à 08:36
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
cs_chapata 215 Messages postés mercredi 2 février 2005Date d'inscription 9 avril 2010 Dernière intervention - 11 janv. 2006 à 09:20
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
cs_Arnauti 418 Messages postés mercredi 24 novembre 2004Date d'inscription 26 septembre 2009 Dernière intervention - 11 janv. 2006 à 09:43
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
sidf 1218 Messages postés mardi 20 décembre 2005Date d'inscription 18 octobre 2012 Dernière intervention - 11 janv. 2006 à 10:39
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
sidf 1218 Messages postés mardi 20 décembre 2005Date d'inscription 18 octobre 2012 Dernière intervention - 11 janv. 2006 à 10:50
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
milkasoprano 239 Messages postés jeudi 21 juillet 2005Date d'inscription 1 juillet 2007 Dernière intervention - 11 janv. 2006 à 14:25
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
cs_titeuf974 70 Messages postés samedi 2 avril 2005Date d'inscription 6 février 2007 Dernière intervention - 11 janv. 2006 à 14:49
0
Merci
salut!
effectivement. a mon sens le strpos semble aller!!

++!
Commenter la réponse de cs_titeuf974
milkasoprano 239 Messages postés jeudi 21 juillet 2005Date d'inscription 1 juillet 2007 Dernière intervention - 11 janv. 2006 à 14:54
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
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 11 janv. 2006 à 15:25
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
milkasoprano 239 Messages postés jeudi 21 juillet 2005Date d'inscription 1 juillet 2007 Dernière intervention - 11 janv. 2006 à 16:08
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
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 11 janv. 2006 à 16:19
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
milkasoprano 239 Messages postés jeudi 21 juillet 2005Date d'inscription 1 juillet 2007 Dernière intervention - 11 janv. 2006 à 16:24
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.