Problème d'envoi formulaire

gentillealouette2 Messages postés 4 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....

3 réponses

tryan44 Messages postés 1381 Statut Membre 220
 
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
 
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 1381 Statut Membre 220
 
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