Livre d'or et UTF8

Livre d'or et UTF8 - PHP - Programmation

Marsh Posté le 19-03-2011 à 17:57:46    

Salut à vous, les programmeur :hello:  
 
J'ai un petit soucis concernant le livre d'or d'un site que je réalise. En effet, après avoir crée la base MySQL kivabien, et chopé des bout de PHP sur la toile, je me retrouve avec des messages mal "encodés" envoyés à ma base de donnée. J'ai essayé toutes les techniques que Google m'a refilé, mais pas moyen, je me retrouve constamment avec des /' ... :/
 
Voici le code PHP de ma page pour l'envoie du formulaire à ma base:
 

Code :
  1. <?php
  2. header('Content-type: text/html; charset=UTF-8');
  3. if (isset($_POST['go']) && $_POST['go']=='Signer') {
  4. if ((isset($_POST['auteur'])) && (isset($_POST['email'])) && (isset($_POST['message']))) {
  5. // si les 3 variables ne sont pas vides, et si l'adresse E-mail est valide, alors, et seulement dans ce cas, on fera notre insertion dans la base
  6. if ((!empty($_POST['auteur'])) && (!empty($_POST['email'])) && (!empty($_POST['message']))) {
  7.   // on verifie le format de l'adresse E-mail saisie
  8.   $test_mail = eregi ('^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)+$', $_POST['email']);
  9.   if ($test_mail) {
  10.    // on se connecte à notre base
  11.    $base = mysql_connect ('labouleneuboisienne.sql.free.fr', 'labouleneuboisienne', 'lemotedepasse');
  12. mysql_select_db ('labouleneuboisienne', $base);
  13. mysql_query("SET NAMES UTF8" );
  14.    // on prepare notre requête d'insertion des données
  15.    $sql = 'INSERT INTO livre_or VALUES("", "'.mysql_real_escape_string($_POST['auteur']).'", "'.mysql_real_escape_string($_POST['email']).'", "'.date("Y-m-d H:i:s" ).'", "'.mysql_real_escape_string($_POST['message']).'" )';
  16.    // on lance la requête
  17.    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
  18.    // on ferme la connexion à la base de données
  19.    mysql_close();
  20.    // on actualise la page
  21.    header('location: livredor.php');
  22.    // on termine le script courant
  23.    exit();
  24.   }
  25.   else {
  26.    $erreur = 'Votre adresse E-mail est invalide.';
  27.   }
  28. }
  29. else {
  30.   $erreur = 'Au moins un des champs est vide.';
  31. }
  32. }
  33. else {
  34. $erreur = 'Les variables nécessaires au script ne sont pas définies.';
  35. }
  36. }
  37. // on entre dans le cas où l'un des trois (au moins) champs n'a pas été rempli ou si l'adresse E-mail n'a pas été validée (en particulier, lorsque le visiteur charge pour la première fois cette page, vu que les 3 champs sont vides, le formulaire s'affichera). On remarque également que l'on met la valeur de chaque champs dans le value (c'est cela qui fait que si le visiteur ne remplit pas entièrement le formulaire et qu'il clique sur "Signer", et bien lorsqu'il sera redirigé vers le formulaire, ce qu'il aura déjà saisi sera conservé
  38. ?>


 
Merci bien à qui me répondra  :jap:

Reply

Marsh Posté le 19-03-2011 à 17:57:46   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed