Problème de formulaire entre 2 pages [HTML / PHP] - HTML/CSS - Programmation
Marsh Posté le 01-07-2006 à 13:31:34
Fais une recherche pour libmail
C'est une classe en PHP pour l'envoie de mail. Assez pratique
Est-ce que le site de ton ami accepte le php ?
Marsh Posté le 01-07-2006 à 13:41:40
Non, le site de mon ami ne peut être qu'en HTML. C'est pour cela que le formulaire est envoyé vers mon site.
Je vais regarder pour libmail mais si les données du formulaire ne sont pas envoyées par IE, je doute que cela me soit très utile...
Marsh Posté le 01-07-2006 à 13:47:43
Kaneda Shotaro a écrit : Non, le site de mon ami ne peut être qu'en HTML. C'est pour cela que le formulaire est envoyé vers mon site. |
tu l'envoie comment ton mail, avec un bouton submit classique ? Ou avec du JS pourri jusqu'au trognon ?
Marsh Posté le 01-07-2006 à 13:54:38
ReplyMarsh Posté le 01-07-2006 à 13:57:29
Kaneda Shotaro a écrit : Avec un simple bouton submit. Je n'aime pas trop les JS... |
Bon, bah alors c'est pas trop normal que ça marche pas... ça doit venir des rêgles de sécurité qui empêche le client (IE) d'envoyer un mail à un serveur différent de celui qui lui a envoyé la page.
Marsh Posté le 01-07-2006 à 13:59:28
Ca ne provient même pas du fait de l'envoi du mail puisque ce dernier est envoyé mais les variables sont irrécupérables. J'ai même essayer de placer sur MON site les deux pages (html et php) mais la page php n'a pas accès aux variables... je ne comprend pas trop ce qui se passe...
Marsh Posté le 01-07-2006 à 14:00:40
Kaneda Shotaro a écrit : Ca ne provient même pas du fait de l'envoi du mail puisque ce dernier est envoyé mais les variables sont irrécupérables. J'ai même essayer de placer sur MON site les deux pages (html et php) mais la page php n'a pas accès aux variables... je ne comprend pas trop ce qui se passe... |
Montre ton code dans son ensemble.
Marsh Posté le 01-07-2006 à 14:06:43
Hermes le Messager a écrit : Montre ton code dans son ensemble. |
La page HTML avec le formulaire :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Villa des Genêts</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body link="#0099FF" vlink="#9999FF" alink="#FFCC66">
<p><font color="#FF6600" size="3" face="Kristen ITC, Verdana, Times New Roman">Cette
demande <strong>n'est pas</strong> une réservation.</font>
</p>
<form name="form1" method="POST" enctype="text/plain" action="http://www.kaneda-shotaro.info/villagenet_email.php">
<p>Merci de remplir toutes les cases.</p>
<table width="101%" border="0">
<tr>
<td><div align="right"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Nom</font></strong></div></td>
<td><div align="left">
<input name="nom" type="text" id="nom" size="50">
</div></td>
</tr>
<tr>
<td><div align="right"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Prénom</font></strong></div></td>
<td><div align="left">
<input name="prenom" type="text" id="prenom" size="50">
</div></td>
</tr>
<tr>
<td><div align="right"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Adresse
complète</font></strong></div></td>
<td><div align="left">
<textarea name="adresse" cols="50" rows="4" id="adresse"></textarea>
</div></td>
</tr>
<tr>
<td><div align="right"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Pays</font></strong></div></td>
<td><div align="left">
<input name="pays" type="text" id="pays" value="France" size="50">
</div></td>
</tr>
<tr>
<td><div align="right"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Numéro de téléphone
(au format international)</font></strong></div></td>
<td><div align="left">
<input name="telephone_fixe" type="text" id="telephone_fixe" value="+33 1 00 00 00 00" size="50" onClick="this.value=''">
</div></td>
</tr>
<tr>
<td><div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Numéro de téléphone
mobile</font></div></td>
<td><div align="left">
<input name="telephone_mobile" type="text" id="telephone_mobile" value="+33 6 00 00 00 00" size="50" onClick="this.value=''">
</div></td>
</tr>
<tr>
<td><div align="right"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Adresse
de messagerie électronique (email)</font></strong></div></td>
<td><div align="left">
<input name="courriel" type="text" id="courriel" value="votre_adresse@domaine.com" size="50" onClick="this.value=''">
</div></td>
</tr>
<tr>
<td><div align="right"><strong><font size="2"><font size="2"><font face="Verdana, Arial, Helvetica, sans-serif">Date
d'arrivée</font></font></font></strong></div></td>
<td><div align="left">
<select name="jour" size="1" id="jour">
<option value="01" selected>01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
<select name="mois" size="1" id="mois">
<option value="01" selected>Janvier</option>
<option value="02">Février</option>
<option value="03">Mars</option>
<option value="04">Avril</option>
<option value="05">Mai</option>
<option value="06">Juin</option>
<option value="07">Juillet</option>
<option value="08">Août</option>
<option value="09">Septembre</option>
<option value="10">Octobre</option>
<option value="11">Novembre</option>
<option value="12">Décembre</option>
</select>
<select name="annee" size="1" id="annee">
<option value="2006" selected>2006</option>
<option value="2007">2007</option>
<option value="2008">2008</option>
<option value="2009">2009</option>
<option value="2010">2010</option>
</select>
</div></td>
</tr>
<tr>
<td><div align="right"><strong><font size="2"><font size="2"><font face="Verdana, Arial, Helvetica, sans-serif">Nombre
de nuits</font></font></font></strong></div></td>
<td><div align="left">
<input name="nb_nuits" type="text" id="nb_nuits" value="1">
</div></td>
</tr>
<tr>
<td><div align="right"><strong><font size="2"><font size="2"><font face="Verdana, Arial, Helvetica, sans-serif">Nombre
d'adultes
</font></font></font></strong></div></td>
<td><div align="left"><font size="2"><font size="2"><font face="Verdana, Arial, Helvetica, sans-serif">
<input name="nb_adultes" type="text" id="nb_adultes" value="1">
</font></font></font></div></td>
</tr>
<tr>
<td><div align="right"><strong><font size="2"><font size="2"><font face="Verdana, Arial, Helvetica, sans-serif">Nombre
d'enfants</font></font></font></strong></div></td>
<td><div align="left">
<input name="nb_enfants" type="text" id="nb_enfants" value="0">
</div></td>
</tr>
<tr>
<td><div align="right"><font size="2"><font size="2"><font face="Verdana, Arial, Helvetica, sans-serif">Heure
d'arrivée (si possible)</font></font></font></div></td>
<td><div align="left">
<input name="heure_arrivee" type="text" id="heure_arrivee" value="00 h 00" onClick="this.value=''">
<input type="hidden" name="page_back" value="http://www.villadesgenets.com.neuf.fr/renseignements_fr.htm">
</div></td>
</tr>
<tr>
<td><div align="right">
<p><font size="2"><font size="2"><font face="Verdana, Arial, Helvetica, sans-serif">Remarques
particulières</font></font></font></p>
</div></td>
<td><div align="left">
<textarea name="remarques" cols="50" id="remarques"></textarea>
</div></td>
</tr>
</table>
<p>
<input type="submit" name="Submit" value="Envoyer le formulaire">
<input type="reset" name="Submit2" value="Effacer le contenu du formulaire">
</p>
</form>
</body>
</html>
La page PHP avec envoi du mail :
<?php
$adressemail = $courriel;
srand((double)microtime()*1000000);
$boundary = md5(uniqid(rand()));
$email_webmaster = "MONADRESSEMAIL@MONSERVEUR.fr";
$message = "\nThis is a multi-part message in MIME format.";
$message .= "\n--$boundary\nContent-Type: text/html; charset=\"iso-8859-1\"\n\n";
$message .= "<html><body>\n";
$message .= "Nom : <strong>" . $nom . "</strong><br>\n";
$message .= "Prénom : <strong>" . $prenom . "</strong><br>\n";
$message .= "Adresse : <strong>" . $adresse . "</strong><br>\n";
$message .= "Pays : <strong>" . $pays . "</strong><br>\n";
$message .= "Téléphone fixe : <strong>" . $telephone_fixe . "</strong><br>\n";
$message .= "Téléphone portable : <strong>" . $telephone_mobile . "</strong><br>\n";
$message .= "Email : <strong>" . $adressemail . "</strong><br>\n";
$message .= "Date d'arrivée : <strong>" . $jour . "/" . $mois . "/" . $annee . "</strong><br>\n";
$message .= "Nombre de nuits : <strong>" . $nb_nuits . "</strong><br>\n";
$message .= "Nombre de personnes : <strong>" . $nb_adultes . " adulte(s) et " . $nb_enfants . " enfants(s)</strong><br>\n";
$message .= "Heure d'arrivée : <strong>" . $heure_arrivee . "</strong><br>\n";
$message .= "Remarques : <strong>" . $remarques . "</strong><br>\n";
$message .= "</body></html>\n";
$message .= "\n--$boundary--\n end of the multi-part";
$titre = "Villa des Genêts : demande de renseignements";
// === fin de traitement des données du formulaire =======================================================
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="fr" lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="refresh" content="10; url=<?php echo $page_back; ?>">
<title>Formulaire de contact</title>
</head>
<body>
<h1>Demande de renseignements</h1>
<?php
$entete = "From: ".$courriel." <".$courriel.">\n";
$entete .= "Reply-To: " . $adressemail ."\n";
$entete .= "MIME-Version: 1.0\n";
$entete .= "Content-Type: multipart/alternative; boundary=$boundary\n";
if (mail($email_webmaster,$titre,$message,$entete)){
// mail envoyé
echo "Votre message a été envoyé. Nous y répondrons dès que possible.<br />Veuillez patienter, vous allez être redirigé.\n";
}
else {
// erreur lors de l'envoi du mail
echo "Un problème s'est produit lors de l'envoi du message.\n";
}
?>
</body>
</html>
Marsh Posté le 01-07-2006 à 14:21:07
Peut etre que les globals ne sont pas activées sur ton serveur
il ne serait pas mieux de recuperer les valeurs via : $_POST["variable"] ??
Marsh Posté le 01-07-2006 à 14:30:27
gatsu35 a écrit : Peut etre que les globals ne sont pas activées sur ton serveur |
Clairement, mais ça ne dit pas pourquoi ça marche avec firefox et pas avec IE.
Marsh Posté le 01-07-2006 à 15:24:09
gatsu35 a écrit : Peut etre que les globals ne sont pas activées sur ton serveur |
Même comme ça les variables ne donnent rien...
Marsh Posté le 01-07-2006 à 13:11:14
J'ai réalisé en HTML un site pour un ami. Il voulait que les visiteurs puissent envoyer par mail une demande de renseignement. J'ai donc fait sur son site HTML un formulaire. Ce dernier est envoyé sur mon site en php pour être envoyé par mail.
Sous Firefox, aucun problème mais sous IE je reçois le mail mais les données du formulaire sont vides. Avez-vous une idée ? Pour l'envoi du formulaire j'ai essayé avec GET et POST mais les deux ont le même résultat. Merci.
Quelques morceaux de code :
Page PHP :
<?php
$entete = "From: ".$courriel." <".$courriel.">\n";
$entete .= "Reply-To: " . $adressemail ."\n";
$entete .= "MIME-Version: 1.0\n";
$entete .= "Content-Type: multipart/alternative; boundary=$boundary\n";
if (mail($email_webmaster2,$titre,$message,$entete)) [...]
Page HTML :
<form name="form1" method="POST" enctype="text/plain" action="http://www.kaneda-shotaro.info/villagenet_email.php"> [...]
@+, Kaneda Shotaro