Traitement des données d'un formulaire - PHP - Programmation
Marsh Posté le 06-03-2006 à 13:25:49
j'ai trouvé ceci mais c'est quand meme assez chiant a compléter
$search = array ('@<script[^>]*?>.*?</script>@si', |
$nom_affich = preg_replace($search, $replace, $nom); |
vous utilisez quoi vous ?
Marsh Posté le 06-03-2006 à 14:42:28
je sais pas si ca va t'aider :
http://www.nexen.net/actualites/lo [...] ration.php
Moi, je n'ai jamais utilisé une fonction comme celle que t'as posté. Soit le contenu est valide et c'est bon soit il ne l'est pas et alors soit je bloque soit je suprimes. En tout cas, je ne me suis jamais embêté à transformer des lettres accentués en lettre non accentué surtout que tu n'auras jamais une liste compléte ne seraisse que par ce que tu ne conais pas les lettres accentués de chaque langues.
Ps : Si tu veux faire un truc pareil fait le avant de tout transformer en entité html et pas avant, ca rendra l'ensemble plus lisible.
Marsh Posté le 06-03-2006 à 15:32:25
merci
je crois que je vais arreter, mon truc de remplacement car c'est impossible, y'a trop de lettres a remplacer...
va falloir que je triuve une autre méthode
Marsh Posté le 06-03-2006 à 15:36:04
je sais pas ce que tu cherches à faire mais html_entities() te convertiras tout en entitié HTML et tu n'auras plus d'accent
Marsh Posté le 06-03-2006 à 16:20:11
ouai c'est ce que je faisais, mais quand j'envoie un formulaire a
'From: '.$nom.' '.$prenom.' <'.$email.'>' . "\r\n"; |
et que mon nom à un accent, ben on reçoit un mail avec des é et compagnie, et ça bugue compètement
Marsh Posté le 06-03-2006 à 16:27:14
normal si tu envoi le mail en format Txt (texte brut) c'est tout à fait normal et dans ce cas tu n'utilises pas html_entities()
Marsh Posté le 06-03-2006 à 16:28:11
"html_entities" est fait pour neutraliser du texte quand on l'affiche dans une page html ou un fichier html. Ca n'est pas fait pour du texte mis dans un mail qui n'est pas au format html.
En fait, quand t'envoie du texte dans un mail, il faut l'envoyer tel quel vu que c'est tel quel que le lecteur sera capable de le lire.
Marsh Posté le 06-03-2006 à 17:28:11
ah bon, t'avais de l'estime pour moi ?
c'est quoi la fonction inverse de htmlentities() ?
Marsh Posté le 06-03-2006 à 17:30:14
Proov a écrit : ah bon, t'avais de l'estime pour moi ? |
T'as déjà envisagé la possibilité d'ouvrir un jour une doc ?
http://www.php.net/manual/fr/funct [...] decode.php
Marsh Posté le 07-03-2006 à 09:47:31
yes merci
mais y'a tellement de fonctions dans php, on peux pas tout connaitre
Marsh Posté le 07-03-2006 à 10:00:44
Mais si tu avais appris à lire tu aurais vu que sur la page
http://www.php.net/manual/fr/function.htmlentities.php
tu avais ceci
Citation : |
Marsh Posté le 06-03-2006 à 10:26:34
Hello
j'ai créé un formulaire avec une vérification par Javascript (avec les pop up qui vont avec), ça marche plutot pas mal mais je commence a me rendre compte des limite de ce type de systeme... et je comprend pourquoi il faut passer par PHP
donc j'ai commencé a me renseigner, et j'ai trouvé un truc intéressant sur la vérification du mail:
if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$",$email))
{
echo "L'adresse mail est invalide"."<br/>";
}
else {
echo "Le mail est good !"."<br/>";
}
ça marche bien, et je m'attaque aux autres champs du formulaire (nom, prénom, adresse etc...)
je saisqu'il y'a des fonctions expres en PHP mais je sais pas très bien quand les utiliser... par ex: addslashes(), stripslashes(), htmlspecialchars(), htmlentities()
pour l'instant, j'utilsais ce dernier pour traiter le champs textarea "message"
mon problème c'est qu'il faudrait que je traite mes champs et enlever les caractères spéciaux, les acents, enfin, tout ce qu'il faut...
j'ai vu qu'il fallait utiliser la fonction preg_replace() pour traiter les données, j'ai raison ou pas ?
y'a quelqu'un qui utilise une vérification de formulaire qui pourrait m'expliquer ce qu'il faut traiter, éviter ?
merci
Message édité par Proov le 06-03-2006 à 10:26:59