Bonjour à tous,
Je reprends la suite de mon problème du poste "Fameux "nl2br" qui ne marche pas chez moi... et autres choses !" afin d'obtenir plus de réponses.
Voilà, j'ai repris / amélioré un script pour faire un livre d'or utilisant PHP et MySQL en piochant dans divers scripts ici et là sur le net, le formulaire marche très bien mais j'ai quelques soucis d'affichage.
Certains caractères / ponctuations ne s'affichent pas ou sont comptés comme une erreur (aucun caractère inscrit)
Je précise que je suis un débutant en PHP, ayant commencé à apprendre tout seul depuis quelques jours. Néanmoins, j'ai un bon niveau en HTML et CSS.
Pour vous avouer franchement, c'est un projet professionnel qui doit se terminer rapidement et je n'ai assez de temps pour bucher la mécanique du PHP (du moins les bases), d'où mon niveau d'extrème novice. J'ai pu récupérer ce script et tenter de le comprendre dans les grandes lignes mais j'aurai été incapable de le rédiger moi-même. A l'avenir je compte perfectionner ce formulaire en essayant de le formuler moi-même mais pour l'instant, ce qui m'intéresse avant tout, c'est son fonctionnement alors si vous pouviez m'aider à résoudre certains problèmes (syntaxes, fonctions ou autre) afin que tous les caractères puissent s'afficher correctement, je vous en serez très reconnaissant.
J'ai essayé de me renseigner ici et là et j'ai pu trouver une fonction pouvant résoudre mon problème mais je ne suis pas arriver à l'utiliser dans mon code ("htmlentities" ).
Voici certains éléments de mon code, vous pourriez peut-être me trouver la solution :
Extrait du code relatif aux entrées et chaines de caractères avant l'entête HTML :
Code :
- // Nettoyage des entrées
- while(list($var,$val)=each($_POST)){
- if(!is_array($val)){
- $$var=strip_tags($val);
- }else{
- while(list($arvar,$arval)=each($val)){
- $$var[$arvar]=strip_tags($arval);
- }
- }
- }
- // Formatage des entrées
- $pseudo=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $pseudo)));
- $email=strip_tags(trim($email));
- $message=trim(ucfirst(eregi_replace("[^a-zA-Z0-9çéêèëâàäôöïîùûü\'\n' -]", "", $message)));
- // Verification des champs
- if(strlen($pseudo)<2){
- $erreur.="<li class='texte_error'>Le champ « Nom (ou pseudo) » est vide ou incomplet.";
- $errpseudo=1;
- }
- if(strlen($email)<2){
- $erreur.="<li class='texte_error'>Le champ « Email » est vide ou incomplet.";
- $erremail=1;
- }else{
- if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
- '@'.
- '[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
- '[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',
- $email)){
- $erreur.="<li class='texte_error'>La syntaxe de votre adresse e-mail n'est pas correcte.";
- $erremail=1;
- }
- }
- if(strlen($message)<2){
- $erreur.="<li class='texte_error'>Le champ « Message » est vide ou incomplet.";
- $errmessage=1;
- }
- if($erreur=="" ) {
|
Si vous avez besoin d'une autre partie du code, tenez-moi au courant
PS : j'ai pas trouvé le moyen de rentrer le code en visualisation PHP (ici C / C++)
Merci par avance !