Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
790 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Traitement des données d'un formulaire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Traitement des données d'un formulaire

n°1319229
Proov
Art & Science
Posté le 06-03-2006 à 10:26:34  profilanswer
 

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... :o et je comprend pourquoi il faut passer par PHP :D  
 
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 ? :D  
 
merci :jap:  
 :hello:


Message édité par Proov le 06-03-2006 à 10:26:59
mood
Publicité
Posté le 06-03-2006 à 10:26:34  profilanswer
 

n°1319366
Proov
Art & Science
Posté le 06-03-2006 à 13:25:49  profilanswer
 

j'ai trouvé ceci mais c'est quand meme assez chiant a compléter :sweat:

$search = array ('@<script[^>]*?>.*?</script>@si',
                 '@<[\/\!]*?[^<>]*?>@si',          
                 '@([\r\n])[\s]+@',                
                 '@&(quot|#34);@i',                
                 '@&(amp|#38);@i',
                 '@&(lt|#60);@i',
                 '@&(gt|#62);@i',
                 '@&(nbsp|#160);@i',
                 '@&(iexcl|#161);@i',
                 '@&(cent|#162);@i',
                 '@&(pound|#163);@i',
                 '@&(copy|#169);@i',
                 '@&#(\d+);@e',
     '@&(eacute|#233);@i',
     '@&(egrave|#232);@i',
     '@&(agrave|#224);@i',
     '@&(aacute|#225);@i',
     '@&(acirc|#226);@i',
     '@&(atilde|#227);@i',
     '@&(auml|#228);@i',
     '@&(aring|#229);@i',
     '@&(ccedil|#231);@i',
     );
 
$replace = array ('',
                 '',
                 '\1',
                 '"',
                 '&',
                 '<',
                 '>',
                 ' ',
                 chr(161),
                 chr(162),
                 chr(163),
                 chr(169),
                 'chr(\1)',
        'e',
        'e',
        'a',
        'a',
        'a',
        'a',
        'a',
        'a',
     'c',
        );


 

$nom_affich = preg_replace($search, $replace, $nom);


 
vous utilisez quoi vous ? :??:

n°1319427
omega2
Posté le 06-03-2006 à 14:42:28  profilanswer
 

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.

n°1319460
Proov
Art & Science
Posté le 06-03-2006 à 15:32:25  profilanswer
 

merci :jap:  
 
je crois que je vais arreter, mon truc de remplacement car c'est impossible, y'a trop de lettres a remplacer...  :D  
va falloir que je triuve une autre méthode :/

n°1319464
newneo2001
Posté le 06-03-2006 à 15:36:04  profilanswer
 

je sais pas ce que tu cherches à faire mais html_entities() te convertiras tout en entitié HTML et tu n'auras plus d'accent


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
n°1319557
Proov
Art & Science
Posté le 06-03-2006 à 16:20:11  profilanswer
 

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 &eacute; et compagnie, et ça bugue compètement :o

n°1319573
gatsu35
Blablaté par Harko
Posté le 06-03-2006 à 16:27:14  profilanswer
 

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() :o

n°1319576
omega2
Posté le 06-03-2006 à 16:28:11  profilanswer
 

"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.

n°1319586
gatsu35
Blablaté par Harko
Posté le 06-03-2006 à 16:38:32  profilanswer
 

Negueu tu me déçois là :o

n°1319656
Proov
Art & Science
Posté le 06-03-2006 à 17:28:11  profilanswer
 

ah bon, t'avais de l'estime pour moi ? :D  
 
 
c'est quoi la fonction inverse de htmlentities() ? :??:

mood
Publicité
Posté le 06-03-2006 à 17:28:11  profilanswer
 

n°1319661
smaragdus
whores, drugs & J.S. Bach
Posté le 06-03-2006 à 17:30:14  profilanswer
 

Proov a écrit :

ah bon, t'avais de l'estime pour moi ? :D  
 
 
c'est quoi la fonction inverse de htmlentities() ? :??:


 
T'as déjà envisagé la possibilité d'ouvrir un jour une doc ?  :sarcastic:  
 
http://www.php.net/manual/fr/funct [...] decode.php
 
http://rulzofpunk.free.fr/smileys/arf_fou.gif


Message édité par smaragdus le 06-03-2006 à 17:39:44
n°1319928
Proov
Art & Science
Posté le 07-03-2006 à 09:47:31  profilanswer
 

yes merci :love:  
 
mais y'a tellement de fonctions dans php, on peux pas tout connaitre :D

n°1319939
gatsu35
Blablaté par Harko
Posté le 07-03-2006 à 10:00:44  profilanswer
 

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 :


Voir aussi html_entity_decode(), get_html_translation_table(), htmlspecialchars(), nl2br() et urlencode().  


 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Traitement des données d'un formulaire

 

Sujets relatifs
export données d'un .dbTableau de données actualisé avec formulaire
récupérer des données avec perlmysql php recuperer des données
Outil création de formulaireJSP/Servlet Initialisation d'un formulaire
Traitement des données d'un formulaire (checkbox) en PHPRecup. de données avec un formulaire puis traitement avec Perl
pb du traitement des donnees en PHP recuperees d'un formulaire htmlTraitement des données d'un formulaire et création d'une page html
Plus de sujets relatifs à : Traitement des données d'un formulaire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR