Problème d'envoi formulaire
gentillealouette2
Messages postés
4
Statut
Membre
-
tryan44 Messages postés 1381 Statut Membre -
tryan44 Messages postés 1381 Statut Membre -
Bonjour,
Peut être que quelqu'un pourra résoudre mon problème;
Je ne connais pas grand chose en programmation, je
bidouille juste un peu....
Sur mon site (hébergé chez "FREE") i'ai un petit formulaire
de contact (extrait ci-dessous) que j'envoie avec
l'instruction "GET" par mail et lorsqu'il est parti j'ai la
confirmation à l'écran qu'il a bien été soumis.
J'ai constaté que parfois lorsque j'envoie le formulaire,
la réponse est immédiate (réponse pour confirmer l'envoi)
et là je ne reçois pas de mail, et lorsque la réponse est
plus longue, alors là je reçois le mail de mon formulaire.
J'ai fait l'essai avec différents navigateurs et c'est
idem. Il y aurait un problème au moment de l'envoi du
formulaire, la "totalisation" des datas ne se ferait pas et
ne serait pas envoyée!!
** une partie html:
<form method="get" action="formmail.php" enctype="text/plain"><input type="hidden" name="subject" value="demande_de_devis" />
<tr>
<td height="25" colspan="2" valign="top" width="187">
<p align="right"><font color="#424E8A">Nom : </font></p></td>
<td colspan="4" valign="top" height="25" width="363"><input type="text" maxlength=35 name="Nom" value="" onChange="javascript:this.value=this.value.toUpperCase();" style="color:rgb(64,77,169);" /> </td>
</tr>
<tr>
<td height="25" colspan="2" valign="top" width="187">
<p align="right"><font color="#424E8A">Prénom : </font></p></td>
<td colspan="4" valign="top" height="25" width="363"><input type="text" maxlength=35 name="Prenom" value="" onChange="javascript:changeCase(this.form.Prenom)" style="color:rgb(64,77,169);" /> </td>
</tr>
<td height="98" colspan="6" valign="top" width="100%">
<P align="center">
<input name="Devis santé gratuits"
style="border-color:white; width:270px;" type="submit"
value="Envoyez votre demande de devis gratuits" />
<INPUT type="reset" style="border-color:white; width:150px;" name="reset" value="Effacez le formulaire" /></P>
</td>
</form>
** partie PHP de "formmail.php":
<?php
$TO = "adresse mail";
$h = "From: " . $Mail;
$subject = "devis";
$from .= "MIME-version: 1.0\n";
$from .= "Content-type: text/plain; charset= iso-8859-1\n";
$message .="Nom = ".$Nom."\n";
$message .="Prénom = ".$Prenom."\n";
while (list($key, $val) = each($HTTP_GET_VARS)) {
$message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
Header("Location: http://..................htm");
?>
Merci, si qu'elqu'un trouve un remède à cet envoi aléatoire ce serait hyper sympa. J'y ai passé de très nombreuses heures sans rien trouver et comme je ne connais presque rien en programmation....
Peut être que quelqu'un pourra résoudre mon problème;
Je ne connais pas grand chose en programmation, je
bidouille juste un peu....
Sur mon site (hébergé chez "FREE") i'ai un petit formulaire
de contact (extrait ci-dessous) que j'envoie avec
l'instruction "GET" par mail et lorsqu'il est parti j'ai la
confirmation à l'écran qu'il a bien été soumis.
J'ai constaté que parfois lorsque j'envoie le formulaire,
la réponse est immédiate (réponse pour confirmer l'envoi)
et là je ne reçois pas de mail, et lorsque la réponse est
plus longue, alors là je reçois le mail de mon formulaire.
J'ai fait l'essai avec différents navigateurs et c'est
idem. Il y aurait un problème au moment de l'envoi du
formulaire, la "totalisation" des datas ne se ferait pas et
ne serait pas envoyée!!
** une partie html:
<form method="get" action="formmail.php" enctype="text/plain"><input type="hidden" name="subject" value="demande_de_devis" />
<tr>
<td height="25" colspan="2" valign="top" width="187">
<p align="right"><font color="#424E8A">Nom : </font></p></td>
<td colspan="4" valign="top" height="25" width="363"><input type="text" maxlength=35 name="Nom" value="" onChange="javascript:this.value=this.value.toUpperCase();" style="color:rgb(64,77,169);" /> </td>
</tr>
<tr>
<td height="25" colspan="2" valign="top" width="187">
<p align="right"><font color="#424E8A">Prénom : </font></p></td>
<td colspan="4" valign="top" height="25" width="363"><input type="text" maxlength=35 name="Prenom" value="" onChange="javascript:changeCase(this.form.Prenom)" style="color:rgb(64,77,169);" /> </td>
</tr>
<td height="98" colspan="6" valign="top" width="100%">
<P align="center">
<input name="Devis santé gratuits"
style="border-color:white; width:270px;" type="submit"
value="Envoyez votre demande de devis gratuits" />
<INPUT type="reset" style="border-color:white; width:150px;" name="reset" value="Effacez le formulaire" /></P>
</td>
</form>
** partie PHP de "formmail.php":
<?php
$TO = "adresse mail";
$h = "From: " . $Mail;
$subject = "devis";
$from .= "MIME-version: 1.0\n";
$from .= "Content-type: text/plain; charset= iso-8859-1\n";
$message .="Nom = ".$Nom."\n";
$message .="Prénom = ".$Prenom."\n";
while (list($key, $val) = each($HTTP_GET_VARS)) {
$message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
Header("Location: http://..................htm");
?>
Merci, si qu'elqu'un trouve un remède à cet envoi aléatoire ce serait hyper sympa. J'y ai passé de très nombreuses heures sans rien trouver et comme je ne connais presque rien en programmation....
A voir également:
- Problème d'envoi formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss ✓ - Forum PHP
- Civilité sur un formulaire - Forum VB / VBA
- Formulaire de reclamation instagram - Guide
3 réponses
Salut,
Testé ce code PHP à la place du votre:
Notez que la variable $Mail n'apparaît nul part dans votre code HTML (formulaire) ni dans le code PHP....ce qui va certainement provoquer une erreur en l'état.
Testé ce code PHP à la place du votre:
<?php
//si les variables existent et que'elles ne sont pas vides
if(isset($_GET['Nom']) && $_GET['Nom']!=NULL && isset($_GET['Prenom']) && $_GET['Prenom']!= NULL){
//Variable transmis par l'url
$Nom = $_GET['Nom'];
$Prenom = $_GET['Prenom'];
//variables du formulaire
$destinataire = "adresse mail";
$subject = "devis";
//Entête du formulaire
$from = "From: " . $Mail;
$from .= "MIME-version: 1.0\n";
$from .= "Content-type: text/plain; charset= iso-8859-1\n";
//message
$message ='Nom = '.$Nom.'\n';
$message .='Prénom = '.$Prenom.'\n';
//envoie du formulaire
mail($destinataire, $subject, $message, $from);
//redirection
Header("Location: page.html");
}
//cas d'une erreur
else{
echo 'Une variable est vide ou manquante!';
}
?>
Notez que la variable $Mail n'apparaît nul part dans votre code HTML (formulaire) ni dans le code PHP....ce qui va certainement provoquer une erreur en l'état.
Bonjour Tryan 44
je te remercie beaucoup pour ta réponse.
J'ai fait l'essai avec ton code et j'ai toujours le même problème, les envois sont aléatoires.
J'ai le retour indiquant l'envoi mais pas la réception de mail et comme auparavant lorsque ça ne fonctionne pas, à l'envoi du questionnaire le retour est immédiat au lieu d'une légère attente. Ca bug environ 3 à 4 fois sur 10.
Je sais que ce problème se reproduit chez les clients qui répondent au formulaire complet, parfois je reçois et parfois non. Bizarre.
je te remercie beaucoup pour ta réponse.
J'ai fait l'essai avec ton code et j'ai toujours le même problème, les envois sont aléatoires.
J'ai le retour indiquant l'envoi mais pas la réception de mail et comme auparavant lorsque ça ne fonctionne pas, à l'envoi du questionnaire le retour est immédiat au lieu d'une légère attente. Ca bug environ 3 à 4 fois sur 10.
Je sais que ce problème se reproduit chez les clients qui répondent au formulaire complet, parfois je reçois et parfois non. Bizarre.