Impossible de supprimer ces caractères : 

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Impossible de supprimer ces caractères : 

par titi63 » 18 juin 2008, 11:41

voici comment j'ai pu résoudre ce problème (si ça peut en aider certains...)

1 - copier le code des fichier php
2 - coller dans un nouveau document notepad++
3 - faire Format/convertir en UTF-8 sans BOM
4 - enregistrer en écrasant le fichier php d'origine

et voili
merci de vos explication 8-)

par sadeq » 16 juin 2008, 09:04

Pour plus d'aide sur la signature BOM (Marque binaire de signature UTF-8 Unicode) http://www.w3.org/International/questions/qa-utf8-bom

par Victor BRITO » 15 juin 2008, 17:44

As-tu vérifié le codage de tous les fichiers PHP appelés (pour voir s'il n'y aurait pas de la signature BOM qui traîne) ?

par titi63 » 15 juin 2008, 09:54

J'ai regardé mes fichiers mais je ne trouve pas ces maudit caracteres, le plus fort c'est que j'ai déjà utilisé ce script sur d'autre site et ils n'apparaissent pas!

Bon voila ou j'en suis :
Il me reste 3 fichiers php pour que le formulaire s'affiche (j'ai viré ceux qui ne servent pas pour l'instant)
J'ai réduit pas mal de code interne, j'ai toujours ces caractères qui s'affichent
voici le lien http://www.planete-sports.fr/for/



index.php

Code : Tout sélectionner

<?php $cryptogramme = TRUE; $format = 'html'; $foncmail = 'mail'; $hostsmtp = ''; $portsmtp = '25'; $authsmtp = true; $usersmtp = ''; $passmtp = ''; session_start(); $included_files = get_included_files(); require(dirname(__FILE__).'/include/fonctions.php'); if(VerifUrl($_SERVER['REQUEST_URI'], $included_files, dirname(__FILE__))){ ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> </head> <body> <?php } if (isset($_POST['submit'])){ $to = '[email protected]' ; $subject = 'Recontacter cette personne pour un stage' ; $body = '<html> <head> <title>Recontacter cette personne</title> </head> <body> <br>nom :'.$_POST['nom'].' </body> </html>'; if(isset( $_FILES['upload_localfile']['tmp_name']) and is_uploaded_file($_FILES['upload_localfile']['tmp_name'])){ $destination = dirname(__FILE__).'/upload/'.$_FILES['upload_localfile']['name']; if(move_uploaded_file($_FILES['upload_localfile']['tmp_name'], $destination)){ $uploadinfo = '<p class="erreur">Upload R&eacute;ussi</p>'; } } else { $uploadinfo = '<p class="erreur"><p>'; } if(!isset($error) or empty ($error)) { $reqclass = dirname(__FILE__).'/include/class.phpmailer.php'; require_once ( $reqclass ); $mail = new PHPmailer(); if($foncmail === 'mail'){ $mail->IsMail(); } elseif($foncmail === 'smtp'){ $mail->IsSMTP(); $mail->Host = $hostsmtp; $mail->Port = $portsmtp; $mail->SMTPAuth = $authsmtp; $mail->Username = $usersmtp; $mail->Password = $passmtp; } if($format === 'html'){ $mail->IsHTML(true); } elseif($format === 'texte'){ $mail->IsHTML(false); } $mail->From = $_POST['email']; $mail->FromName = $_POST['nom']; $mail->AddAddress( $to ); $mail->Subject = $subject ; $mail->Body = stripslashes( $body ); if(isset($destination)){ $mail->AddAttachment( $destination ); } if(!$mail->Send()){ echo '<p class="erreur">Erreur fonction mail() :</p>'; echo $mail->ErrorInfo; } else{ echo $uploadinfo; echo '<p class="erreur">Formulaire</br></br>Merci</p>'; } unset($mail); } else { foreach($error as $errormsg){ echo $errormsg; } echo '<p class="erreur">Le</p>'; } if (isset($destination)){ unlink($destination); } } if (((isset($error) or !empty ($error)) and isset($_POST['submit'])) or !isset($_POST['submit'])){ include(dirname(__FILE__).'/formulaire.php'); } if(VerifUrl($_SERVER['REQUEST_URI'], $included_files, dirname(__FILE__))){ ?> </body> </html> <?php } ?>
formulaire.php

Code : Tout sélectionner

<div class="texteformulaire"> <form action="<?php echo $_SERVER['REQUEST_URI'] ?>" method="post" enctype="multipart/form-data"> </form> </div>
et for/fonctions.php

Code : Tout sélectionner

<?php function VerifUrl($url, $file, $path){ $return = TRUE; unset($file[0]); if(!empty($file)){ $return = FALSE; } return $return; } function CheckEmail($email){ return preg_match('`^[[:alnum:]]([-_.]?[[:alnum:]])*@[[:alnum:]]([-.]?[[:alnum:]])*\.([a-z]{2,4})$`',$email); } ?>
Une idée du PB???

par sadeq » 14 juin 2008, 10:37

Il faut que tu réédite tous tes fichiers avec le bloc-notes "NotePad" par exemple pour éliminer ses caractères spéciaux ajoutés abusivement par l'éditeur que tu as utilisé au départ. Ils s'ajoutent souvent au début du fichier.

Pour ce faire : Ouvre un fichier (php ou HTML) dans le bloc-notes repère ses maudits caractères et supprimes-les le cas échéant puis enregistre le fichier normalement (Fichier>enregistrer)

par titi63 » 14 juin 2008, 10:17

Salut

Et en supprimant les espaces :?: :wink:
Correction :?:
<?php 
include( 'for/index.php' ); 
?> 
Merci dunbar! espaces supprimé, ça change rien :(

voici le PHP juste avant la DIV :

Code : Tout sélectionner

<?php ////////////////////////////////////// // Configuration de l'envoi du mail // ////////////////////////////////////// $cryptogramme = TRUE; //Cryptogramme pour éviter le spam TRUE = activé, FALSE = désactivé $format = 'html'; // Mettez ici le format de l'email, pour html mettez 'html', pour le format texte mettez 'texte' $foncmail = 'mail'; // Si votre hébergeur permet la fonction mail mettez 'mail', sinon vous pouvez utiliser smtp en mettant 'smtp' ///////////////////////////////////////////////////////////////////////////////////// // Configuration SMTP ( Si vous n'utilisez pas SMTP ne pas configurer ces champs ) // ///////////////////////////////////////////////////////////////////////////////////// $hostsmtp = ''; // Mettez ici l'hôte SMTP par exemple 'smtp.free.fr' $portsmtp = '25'; // S'il faut utiliser un autre port que le port 25 spécifiez le ici $authsmtp = true; // Si le serveur demande une authentification laissez true, s'il n'y a pas besoin d'authentification mettez false et // ignorez les champs suivant $usersmtp = ''; // Mettez ici le login d'accés au serveur SMTP. Par exemple : 'toto' $passmtp = ''; // Mettez ici votre mot de passe d'accés au serveur SMTP. Par exemple : 'Mon_mot_de_pass' /////////////////////// // FIN CONFIGURATION // /////////////////////// session_start(); $included_files = get_included_files(); require(dirname(__FILE__).'/include/fonctions.php'); if(VerifUrl($_SERVER['REQUEST_URI'], $included_files, dirname(__FILE__))){ ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Formulaire de contact</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="revisit-after" content="1"> <meta name="description" content="EXmail 1.2"> <meta name="keywords" content="exmail"> <meta name="robots" content="ALL"> <meta name="distribution" content="Global"> <meta name="rating" content="General"> <meta name="copyright" content="Steuf"> <meta name="author" content="Steuf"> <link rel="stylesheet" type="text/css" href="contact.css"> </head> <body> <?php } if (isset($_POST['submit'])){ /////////////////// // CONFIGURATION // /////////////////// $to = '[email protected]' ; // Mettez ici, là ou les adresses emails ( Séparées d'une virgule ) auquels le mail doit être envoyé. $subject = 'Recontacter cette personne pour un stage' ; // Mettez ici le sujet de votre mail // Dans body vous avez le corps du mail, ici nous mettons les variables du champs commentaire $comment, // vous pouvez mettre bien entendu plusieurs variables avec du texte au format html ou texte selon votre choix. // Attention ! Comme vous le voyez dans l'exemple, le texte doit être entre des Appostrophes , alors que les Variable // venant du formulaire doivent être en dehors et de la forme .$_POST['nom']. ( Ne pas oublier les points ) // Attention ! Si vous mettez une appostrophe dans le texte elle doit être précédée de \ Exemple : // Si je veus écrire : J'y vais , il faut mettre : J\'y vais. $body = '<html> <head> <title>Recontacter cette personne</title> </head> <body> <br>nom :'.$_POST['nom'].' <br>Pr&eacute;nom : <br>Adresse : <br>Code Postal : <br>Date Naiss. : <br>téléphone :'.$_POST['tel'].' <br>Cliquer sur "répondre" pour donner une réponse par mail </body> </html>'; // Si l'adresse email n'est pas valide, on met un message d'erreur (CheckEmail() ===> Fonction de vérification de la validité de l'adresse email) if(!CheckEmail($_POST['email'])){ $error[] = '<p class="erreur">Votre adresse Email n\'est pas valide !</p>'; } // On vérifie que les champs obligatoires sont remplis, s'il n'est pas rempli on dirige vers un message d'erreur, pour vérifier d'autres champs // Du formulaire que vous allez créer vous n'avez qu'à recopier les deux lignes si dessous et de remplacer la variable $_POST['nom'] par celle // de la partie du formulaire que vous voulez rendre obligatoire. Ainsi que le message en html que vous voulez mettre en cas d'erreur. // Vérification Cryptogramme if((empty($_POST['cryptogramme']) or $_POST['cryptogramme'] !== $_SESSION['captcha-control']) and $cryptogramme === TRUE){ $error[] = '<p class="erreur">Cryptogramme invalide !</p>'; } // Vérification telephone if(empty($_POST['tel'])){ $error[] = '<p class="erreur">Vous n\'avez pas mis votre num&eacute;ro de t&eacute;l&eacute;phone !</p>'; } /////////////////////// // FIN CONFIGURATION // /////////////////////// if(isset( $_FILES['upload_localfile']['tmp_name']) and is_uploaded_file($_FILES['upload_localfile']['tmp_name'])){ $destination = dirname(__FILE__).'/upload/'.$_FILES['upload_localfile']['name']; if(move_uploaded_file($_FILES['upload_localfile']['tmp_name'], $destination)){ $uploadinfo = '<p class="erreur">Upload R&eacute;ussi</p>'; } } else { $uploadinfo = '<p class="erreur"><p>'; } if(!isset($error) or empty ($error)) { $reqclass = dirname(__FILE__).'/include/class.phpmailer.php'; require_once ( $reqclass ); $mail = new PHPmailer(); if($foncmail === 'mail'){ $mail->IsMail(); } elseif($foncmail === 'smtp'){ $mail->IsSMTP(); $mail->Host = $hostsmtp; $mail->Port = $portsmtp; $mail->SMTPAuth = $authsmtp; $mail->Username = $usersmtp; $mail->Password = $passmtp; } if($format === 'html'){ $mail->IsHTML(true); } elseif($format === 'texte'){ $mail->IsHTML(false); } $mail->From = $_POST['email']; $mail->FromName = $_POST['nom']; $mail->AddAddress( $to ); $mail->Subject = $subject ; $mail->Body = stripslashes( $body ); if(isset($destination)){ $mail->AddAttachment( $destination ); } if(!$mail->Send()){ echo '<p class="erreur">Erreur fonction mail() :</p>'; echo $mail->ErrorInfo; } else{ echo $uploadinfo; echo '<p class="erreur">Formulaire envoy&eacute; !</br></br>Merci de votre message!</br></br>Vous aller recevoir une r&eacute;ponse tr&egrave;s prochainement.</br></br><a href="http://www.apr63.fr">Accueil</a></p>'; } unset($mail); } else { foreach($error as $errormsg){ echo $errormsg; } echo '<p class="erreur">Le Formulaire n\'a pas &eacute;t&eacute; envoy&eacute; <br> Appuyez sur la touche retour arrière (<==) pour completer le formulaire !</p>'; } if (isset($destination)){ unlink($destination); } } if (((isset($error) or !empty ($error)) and isset($_POST['submit'])) or !isset($_POST['submit'])){ include(dirname(__FILE__).'/formulaire.php'); } if(VerifUrl($_SERVER['REQUEST_URI'], $included_files, dirname(__FILE__))){ ?> </body> </html> <?php } ?>

par dunbar » 13 juin 2008, 19:13

Salut

Et en supprimant les espaces :?: :wink:
Correction :?:
<?php 
include( 'for/index.php' ); 
?> 

par Ryle » 13 juin 2008, 18:36

Vu que les caractères "" apparaissent dans le code source juste avant la balise <div class="texteformulaire">, c'est surtout le code php qui précède cette balise qu'il serait intéressant de nous donner...

Ps : <?php $_SERVER['REQUEST_URI'] ?>, fonctionnera mieux avec un echo :)

par Victor BRITO » 13 juin 2008, 16:58

Aurais-tu, par hasard, codé en UTF-8 avec BOM ? Vérifie le codage employé au moyen de ton éditeur et choisis UTF-8 sans BOM.

par Vurtu » 13 juin 2008, 15:58

Quand on viens sur un forum demander de l'aide ... l'aide reçu est bénévole ...
C'est donc bien d'aider un peu la recherche du problème en précisant le problème :)

Indiques nous le soucis, on regarderas après :)

par mcorgnet » 13 juin 2008, 15:45

Ca me fait plaisir de t'aider.

Si si, sincèrement.

Mais c'est quoi le problème ?

Impossible de supprimer ces caractères : 

par titi63 » 13 juin 2008, 15:40

Bonjour,

Quelqu'un peut il m'aider? Ma page est pourtant valide W3C : http://www.planete-sports.fr/inscriptio ... sports.php

voici mon formulaire

Code : Tout sélectionner

<div class="texteformulaire"> <form action="<?php $_SERVER['REQUEST_URI'] ?>" method="post" enctype="multipart/form-data"> <table class="style3"> <tbody> <tr> <td class="style1"><p class="style3">Nom :<input type="text" name="tel1" value="" class="fondformulaire" size="20" /></p></td> <td class="style1"><p class="style1">Pr&eacute;nom : <input type="text" name="tel1" value="" class="fondformulaire" size="20" /></p></td> </tr> <tr> <td colspan="2" class="style1"><p class="style1">Adresse :<input type="text" name="tel1" value="" class="fondformulaire" size="50" style="width: 384px" /></p></td> </tr> <tr> <td class="style1" style="width: 213px"><p class="style1">Code Postal :<input type="text" name="tel1" value="" class="fondformulaire" size="20" style="width: 99px" /></p></td> <td class="style1"><p class="style1">Ville :<input type="text" name="tel1" value="" class="fondformulaire" size="20" /></p></td> </tr> <tr> <td class="style1" style="width: 213px"><p class="style1">Date Naiss. :<input type="text" name="tel1" value="" class="fondformulaire" size="20" style="width: 99px" /></p></td> <td class="style1"><p class="style1">Taille (cm) :<input type="text" name="tel1" value="" class="fondformulaire" size="20" /></p></td> </tr> <tr> <td class="style1" style="width: 213px"><p class="style1">Tel Dom : <input type="text" name="tel1" value="" class="fondformulaire" size="20" style="width: 99px" /></p></td> <td class="style1"><p class="style1">Tel Port : <input type="text" name="tel1" value="" class="fondformulaire" size="20" /></p></td> </tr> <tr> <td class="style1" style="width: 213px"><p class="style1">eMail :<input type="text" name="tel1" value="" class="fondformulaire" size="20" /></p></td> <td class="style1"><p class="style1">Club si licence :<input type="text" name="tel1" value="" class="fondformulaire" size="20" /></p></td> </tr> <tr> <td colspan="2"> <p class="formcentre"><strong>Stages Multisports / Multi-activit&eacute;s de 1 semaine :</strong></p> </td> </tr> <tr> <td colspan="2"> <select name="stage"> <option value="foot">Stage Foot "Pleine lucarne" 9/15ans</option> <option value="25-40">Stage Tennis Multi Raquette "1er Service" 8/17ans</option> <option value="40-60">Stage Tennis Multi Raquette "Balle de break" 8/17ans</option> <option value="60">Stage danse "Rythm and Dance" 9/15ans</option> <option value="60">Stage aventure 13/17ans</option> <option value="60">Stage &eacute;vasion 10/13ans</option> <option value="60">P'tits Muscl&eacute;s 6/10 ans 1/2 journ&eacute;e (apr&egrave;s midi)</option> <option value="60">P'tits Muscl&eacute;s 6/10 ans journ&eacute;e</option> <option value="60">Stage terre et aventure 6/10ans</option> <option value="60">Stage &eacute;vasion 10/13ans</option> <option value="60">Stage &eacute;vasion 10/13ans</option> </select></td> </tr> <tr> <td class="style1" style="width: 213px"><strong>Choisissez votre semaine : </strong></td> <td class="style1"> <p class="style2"> <input type="radio" name="val" value="s7" /> Semaine 1 <input type="radio" name="val" value="s8" /> Semaine 2 <input type="radio" name="val" value="s9" /> Semaine 3 </p> </td> </tr> <tr> <td class="style1" style="width: 213px"> <p class="formcentre"> Stages Tennis 1h ou 1h30 par jour</p> </td> <td class="style1"> <p class="style2"> <input type="radio" name="val" value="mini" /> mini <input type="radio" name="val" value="maxi" /> maxi <input type="radio" name="val" value="solo" /> solo </p> </td> </tr> <tr> <td class="style1" style="width: 213px"> <p class="style1"> Cryptogramme : <img src="http://<?php echo $_SERVER['HTTP_HOST'];?>/for/include/image.php" alt="Cryptogramme" /></p> </td> <td class="style1"> <p class="style2"> Merci de reproduire le cryptogramme ici : <input type="text" name="cryptogramme" value="" class="fondformulaire" /> </p> </td> </tr> </tbody> </table> <p class="formcentre"> <input type="submit" name="submit" value="Envoyer" /> </p> </form> </div>
inséré avec

Code : Tout sélectionner

<?php include( 'for/index.php' ); ?>
dans un fichier PHP