Plusieurs problèmes avec mon formulaire

Nouveau WRInaute
Bonjour à tous, j'ai fais un formulaire de contact basic : nom, email, message.
Pour le faire fonctionner j'ai récupéré le script php sur le site de mon serveur.
Cela fonctionne bien mais :

1/ Problème d'accents : j'ai cherché et trouvé des codes pour éviter qu'il y est des caractères bizarre à la place de mes accents, mais cela ne fonctionne pas...

2/ j'ai voulu rajouter le champ "nom" qui n'était prévu sur le script de la page php mais cela n'a pas d'effet (j'ai dû oublier quelque chose)

3/ j'aimerais que la page " message réussi" et "erreur" soit intégrés dans ma page, (pour l'instant c'est juste un texte en noir sur page blanche)

Le code de ma page html :
Code:
<form id="myform" class="cssform" action="form2mail.php" method="post">

<br>
  <label for="nom">Nom</label><br>
  <input name="nom" type="text" id="nom" value="" />
  

<br>
  <label for="email">Email</label><br>
  <input name="email" type="text" id="email" value="" />

  
<br>
  <label for="message">Message</label><br>
  <textarea name="message" id="message" rows="5" cols="25"></textarea>
  

<div style="margin-left: 50px;" >
  <input type="submit" value="Envoyer" />
  </div>
</form>
mon code php :
Code:
<?php
function format_url( $url, $type = '' ){
   $url = preg_replace("`\[.*\]`U","",$url);
   $url = preg_replace('`&(amp;)?#?[a-z0-9]+;`i','-',$url);
   $url = htmlentities($url, ENT_COMPAT);
   $url = preg_replace( "`&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig);`i","\\1", $url );
   $url = preg_replace( array("`[^a-z0-9]`i","`[-]+`") , "-", $url);
   $url = ( $url == "" ) ? $type : strtolower(trim($url, '-'));
   return $url;
}


/* Initialisation des variables */
$from = "webmaster@provherbes.com"; // l'expéditeur : remplacer ici domaine.com par votre domaine
$to = "contact@mica-paca.com"; // le destinataire : mettez ici votre adresse mail valide
 
/* Préparation */
$subject = "Message site Prov'Herbes"; // le sujet du mail
$nom = NULL;
$email = NULL;
$message = NULL;

 /* Récupération du champs nom */
if (!empty($_POST['nom'])) {
  $email = $_POST['nom'] ;
}
 
/* Récupération du champs email */
if (!empty($_POST['email'])) {
  $email = $_POST['email'] ;
}
/* Récupération du champs message */
if ($email && !empty($_POST['message'])) {
  $message = "Message envoyé par $email :\n" . $_POST['message'];
}
 
/* Envoi*/
if ($email && $message)
{
 
  /* En-têtes obligatoires du message */
  $headers = "From: Webmaster <$from>\n";
  $headers .= "To: Contact <$to>\n";
  $headers .= "MIME-Version: 1.0\n";
  $headers .= "Content-type: text/plain; charset=iso-8859-15\n";
 
 /*  Appel a la fonction mail */
  if (!mail($to, $subject, $message, $headers)){
     echo "Erreur: Impossible d'envoyer le mail";
  } else {
     echo "Envoi r&eacute;ussi";
  }
} 
else {
  echo "Erreur: vous devez sp&eacute;cifier une adresse email valide et un texte\n";
}
 
?>
Si vous avez des solutions, merci
vectorette
 
WRInaute impliqué
Pour les accents cela provient de cette ligne placée tout en haut de tes pages :

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Il faut remplacer l'encodage utf-8 par iso-8859-1

A faire sauf si le site affiche des caractères différents de notre alphabet.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut