Problème d'envoi formulaire

Fermé
gentillealouette2 Messages postés 3 Date d'inscription mercredi 19 septembre 2012 Statut Membre Dernière intervention 15 janvier 2013 - 19 sept. 2012 à 09:46
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 - 20 sept. 2012 à 10:06
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....

3 réponses

tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 225
19 sept. 2012 à 11:01
Salut,

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.
0
gentillealouette2
20 sept. 2012 à 09:17
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.
0
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 225
20 sept. 2012 à 10:06
Ouai c'est bizarre... en même temps je suppose qu'il n'y qu'une petite partie de votre formulaire sur ce poste et que celui-ci utilise également du Javascript?
0