Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/06/2008, à 23:17

hackman61

Script Formulaire php

Bonsoir, j'ai fait ça avec l'aide d'un tuto sur le net
C'est un formulmaire (jen cherche un qui fonctionne impec)
Il envoie bien un mal sur le compte mail de l'admin où le formulaire est stocké, mais le contient <> comme titre et rien dans le corps du message?!

Voici le code du scipt ::

<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Contact</title>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
body {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	background-color: #ffffff;
	font-size: 11px;
	color: #000000;
 margin-left: 10;
}
p, ul, ol, td {
	text-align: justify;
}
.red {
 color: #ff0000;
	background-color: transparent;
}
.vi4 {
	color: #330066;
	background-color: transparent;
	font-weight: bold;
}
.tour { 
	border: 2px solid #330066; 
    border-collapse: separate;
}
.unite {
	background-color: #ebe7f1;
	color: #000000;
}
//-->
</style></head>
<body>
<p>Cette page permet l'envoi d'un message au Docteur Alain SICHEL, Médecin 
  Maître-Toile du site pour&nbsp;: </p>
<ul>
  <li>signaler une erreur sur le site (lien défectueux...),</li>
  <li>faire une suggestion,</li>
  <li>proposer un lien,</li>
  <li>etc.</li>
</ul>
<p>Attention, nous ne répondrons pas aux questions de santé d'ordre 
  personnel qui ne peuvent s'aborder que dans le cadre d'une consultation médicale.<br />
  <?php
function formulaire($Nom="",$Profession="",$Email="",$Message="") {
?>
</p>
<form action="<?php echo $PHP_SELF ?>" method="post">
  <table border="0" class="tour" cellspacing="0" cellpadding="10" align="center">
    <tr class="unite"> 
      <td >Nom Prénom&nbsp;:</td>
      <td width="80%"><center>
          <input type="text" name="Nom" size="30" value="<?php echo trim(htmlentities($Nom)) ?>" />
        </center></td>
    </tr>
    <tr class="unite"> 
      <td>Profession&nbsp;:</td>
      <td width="80%"><center>
          <input type="text" name="Profession" value="<?php echo trim(htmlentities($Profession)) ?>" size="30" />
        </center></td>
    </tr>
    <tr class="unite"> 
      <td>E-mail&nbsp;:</td>
      <td width="80%"><center>
          <input type="text" name="Email" value="<?php echo trim(htmlentities($Email)) ?>" size="30" />
        </center></td>
    </tr>
    <tr class="unite"> 
      <td valign="top">Message :</td>
      <td width="80%"><center>
          <textarea name="Message" alt="Message" rows="10" cols="47" wrap="virtual"><?php if (ereg("[]%~#`$&|}{^[><]",$Message)) { echo "Certains caractères utilisés sont interdits";
  $erreur=1; }
  else {echo trim($Message); } ?></textarea>
        </center></td>
    </tr>
    <tr class="unite"> 
      <td>&nbsp;</td>
      <td width="80%"> <center>
          <br />
          <input type="submit" name="Submit" value="Envoi" alt="Envoi" style="background-color:#00ff00" title="Envoi de votre message" onmouseover="this.style.color='#ff0000'" onmouseout="this.style.color='#000000'" onmousedown="this.style.color='#ff9900'" />
        </center></td>
    </tr>
  </table>
<?php
}
if(!isset($Nom)) { 
	formulaire();
}
else {
	$vNom=trim(htmlentities($_POST["Nom"]));
	$vProfession=trim(htmlentities($_POST["Profession"]));
	$vMessage=trim($_POST["Message"]);
	$vEmail=trim(htmlentities($_POST["Email"]));
	$destinataire='administrateur@hackman61.dyndns.org';
	$titre="Modèle de page Contact";
	$message="Provenance : $HTTP_REFERER\n";
	$message.="Adresse IP : $REMOTE_ADDR,\n";
	$message.="Navigateur : $HTTP_USER_AGENT\n";
	$message.="Nom : $vNom\n";
	$message.="Profession : $vProfession\n";
	$message.="E-mail : $vEmail\n";
	$message.="Message : $vMessage\n";
	if (empty($vNom) || empty($Message) || empty($Email)) {
		echo "<p class='red'>Vous n'avez pas complété toutes les zones&nbsp;:</p>";
		$erreur=1;
	}
	if (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-_.]?[0-9a-z])*\\.[a-z]{2,4}$",$vEmail) && ($erreur<>1)){
		echo "<p class='red'>L'adresse e-mail n'est pas correcte&nbsp;:</p>";
		$erreur=1;
	}
	if ($erreur==1) {
		formulaire($Nom,$Profession,$Email,$Message);
	}
	else {
		mail($destinataire,$titre,$message,"From: $vEmail") ;
		echo "<p class='vi4'>Votre message :</p>";
		echo "<ul><li>Nom : <span class='red'>" . $vNom . "</span><br />";
		echo "<li>Profession : <span class='red'>" . $vProfession. "</span></li>";
		echo "<li>E-mail : <span class='red'>" . $vEmail. "</span></li>";
		echo "<li>Message : <span class='red'>" . $vMessage.'</span></li></ul>';
		echo "<p class='vi4'>a bien été envoyé au webmestre du site. Nous vous remercions.</p>\n" ;
		echo "<form name='boutons'><table border='0' cellspacing='0' cellpadding='0' width='90%' align='center'><tr><td><center>" ;
  echo "<input type='button' name='accueil' alt='Accueil' value=\"Retour à la page d'accueil\" style='color:#660066;background-color:#ebe7f1' onclick=\"location.href='/index.php'\" onmouseover=\"this.style.color='#ff0000'\" onmouseout=\"this.style.color='#660066'\" onmousedown=\"this.style.color='#ff9900'\" />\n";
  echo "</center></td><td><center><input type='button' name='plan' alt='Plan du site' value='Vers le plan du site' style='color:#660066;background-color:#ebe7f1' onclick=\"location.href='http://www.cyes.info/aide/plan.php'\" onmouseover=\"this.style.color='#ff0000'\" onmouseout=\"this.style.color='#660066'\" onmousedown=\"this.style.color='#ff9900'\" /></center></td></tr></table>";
	}
}
?>
</form>
</body>
</html>

Ps si je suis pas dans le bon forum, dites le moi, j'ai hésité avec le forum internet big_smile


Config : Acer swift 3 : Archlinux Ryzen 5 , 16G DDR4, NVME 250G

Hors ligne

#2 Le 04/07/2008, à 16:57

rniamo

Re : Script Formulaire php

t'as dit dans les headers que t'envoyer de l'html et pas du texte?


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#3 Le 04/07/2008, à 17:10

hackman61

Re : Script Formulaire php

A tes souhaits!!! Désolé je connais pas grand chose en html(ni php d'ailleur) je fais comment pour envoyer de l'html?


Config : Acer swift 3 : Archlinux Ryzen 5 , 16G DDR4, NVME 250G

Hors ligne

#4 Le 15/07/2008, à 13:55

Bill Gates (alias Adrien)

Re : Script Formulaire php

Bonjour

Tu sais tu n'a pas besoin de toutes ces lignes de codes il te suffit juste de récupérer  les variables de ton formulaire et de les envoyer par mail.
Par exemple dans ton formulaire si tu as un champ dans lequel l’utilisateur doit rentrer son message il te suffit de lui attribuer name="message" ensuite tu récupère cette variable et tu te l’envoi par mail par exemple tu peux faire:

formulaire_contact.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
   <head>
       <title>Contactez-Moi</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
   </head>
   <body>
   <form method="post" action="mail.php"/> 
<div>
<label>Veuillez entrer votre nom: </label><input type="text" name="nom" /><br />
<label>Ici votre Message: </label>
<textarea name="message" rows="8" cols="35">
</textarea><br />
<input type="submit" value="envoyer"/>
</div>
   </body>
</html>

mail.php

<?php

//ça c'est juste pour que l'utilisateur puisse mettre des apostrophes
if (get_magic_quotes_gpc())
{
    $nom = stripslashes($_POST['nom']); 
    $message = stripslashes($_POST['message']); 
} 
else
{  
    $nom = $_POST['nom']; 
    $message = $_POST['message']; 
}


//Et on attaque le message

$pour = 'TonAdresse@hotmail.fr';
$message .= ' Ce mail a été envoyé par '.$nom."\r\n\r\n";
mail($pour, $nom , $message);
echo "message envoyé";

?>

Bon bien enttendu il n'y a aucune mise en forme et CHANGE BIEN l'adresse mail que j'ai mis comme exemple (TonAdresse@hotmail.fr) et nome bien les pages comme moi message.html et mail.php


J'éspère t'avoir aidé a++    d^_^b