[HTML / PHP] Problème de formulaire entre 2 pages

Problème de formulaire entre 2 pages [HTML / PHP] - HTML/CSS - Programmation

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

Reply

Marsh Posté le 01-07-2006 à 13:11:14   

Reply

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 ?

Reply

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...

Reply

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.
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...


 
tu l'envoie comment ton mail, avec un bouton submit classique ? Ou avec du JS pourri jusqu'au trognon ? [:itm]

Reply

Marsh Posté le 01-07-2006 à 13:54:38    

Avec un simple bouton submit. Je n'aime pas trop les JS...

Reply

Marsh 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... [:spamafote] ç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. [:spamafote]

Reply

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...

Reply

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. :/

Reply

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&eacute;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&eacute;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&egrave;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&eacute;ro de t&eacute;l&eacute;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&eacute;ro de t&eacute;l&eacute;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 &eacute;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&eacute;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&eacute;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&ucirc;t</option>
        <option value="09">Septembre</option>
        <option value="10">Octobre</option>
        <option value="11">Novembre</option>
        <option value="12">D&eacute;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&eacute;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&egrave;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>

Reply

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"] ??

Message cité 2 fois
Message édité par gatsu35 le 01-07-2006 à 14:22:13
Reply

Marsh Posté le 01-07-2006 à 14:21:07   

Reply

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  
il ne serait pas mieux de recuperer les valeurs via : $_POST["variable"] ??


 
Clairement, mais ça ne dit pas pourquoi ça marche avec firefox et pas avec IE. :/

Reply

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  
il ne serait pas mieux de recuperer les valeurs via : $_POST["variable"] ??


Même comme ça les variables ne donnent rien...

Reply

Sujets relatifs:

Leave a Replay

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