Page 1 sur 1

Envoi de formulaires

Posté : 19 oct. 2005, 12:10
par stroumph31
Bonjour,

Configuration du serveur web:
- Windows 2000 serveur sp4.
- Apache 2.0.55.
- Php 4 win32 dernière version stable.
- Mysql 1.4

Problème:
- Formulaire de demande de sav à remplir et à envoyer sur une adresse mail prédéfinie dans le formulaire. Le formaulaire se rempli bien, réagis bien au fonction de champs obligatoires mais lorsque je clic sur "envoyer" j'ai un mesage de refus d'envoi du formulaire et bien sur je ne reçoit rien dans la boite mail en question.
Ce formulaire fonctionne correctement avec un serveur unix et apache
Faut-il une fonction particulière sous windows 2000 serveur.

Merci de m'aider

Posté : 19 oct. 2005, 12:13
par zeus
Donne nous la ligne de code qui te permet de définir l'envoi du formulaire par mail et le message d'erreur exact

ligne de code

Posté : 19 oct. 2005, 16:45
par stroumph31
Ci joint le code php du formulaire sav:

Ici le contenu du formulaire
<?php
//Couleur du texte des champs si erreur saisie utilisateur
$color_font_warn="#FFFFFF";
//Couleur de fond des champs si erreur saisie utilisateur
$color_form_warn="#C90510";
//les champs de formulaires
$list[f_6]=array("Vous avez une panne de matériel");
$list[f_7]=array("Sélectionnez","Sous garantie","Hors garantie","Sous contrat de maintenance");
$list[f_9]=array("Vous avez une panne de logiciel");
$list[f_10]=array("Sélectionnez","Sous contrat","Hors contrat de maintenance");
$list[f_15]=array("Sélectionnez","Express","Sous 24H","Sous 48H","1 semaine");
if($submit){
//Formatage des entrées
$f_1=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_1)));
$f_2=trim(eregi_replace("[^0-9\ +]", "", $f_2));
$f_3=trim(eregi_replace("[^0-9\ +]", "", $f_3));
$f_4=strip_tags(trim($f_4));
$f_8=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_8)));
$f_11=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_11)));
//Verification des champs
if(strlen($f_1)<2){
$erreur.="<li><span class='txterror'>Le champ &laquo; Nom prénom &raquo; est vide ou incomplet.</span>";
$errf_1=1;
}
if(strlen($f_2)<2){
$erreur.="<li><span class='txterror'>Le champ &laquo; Téléphone &raquo; est vide ou incomplet.</span>";
$errf_2=1;
}
if(strlen($f_4)<2){
$erreur.="<li><span class='txterror'>Le champ &laquo; E-mail &raquo; est vide ou incomplet.</span>";
$errf_4=1;
}else{
if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
'@'.
'[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
'[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',
$f_4)){
$erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>";
$errf_4=1;
}
}
if(strlen($f_14)<2){
$erreur.="<li><span class='txterror'>Le champ &laquo; Adresse facturation &raquo; est vide ou incomplet.</span>";
$errf_14=1;
}
if(!$erreur){
//Création du message
$titre="Formulaire SAV M G Bureautique";
$tete="From:[email protected]\n";
$corps.="Formulaire SAV M G BUREAUTIQUE\n";
$corps.= "Informations transmises :\n\n" ;
$corps.= "Date :  " . date("r") . "\n\n" ;
$corps.="Nom prénom : ".$f_1."\n";
$corps.="Téléphone : ".$f_2."\n";
$corps.="Fax : ".$f_3."\n";
$corps.="E-mail : ".$f_4."\n";
$corps.="Code client : ".$f_5."\n";
for($id=0; $id<count($list[f_6]); $id++){
if($f_6[$id]==1){
$corps.="Panne matériel : ".$list[f_6][$id]."\n";
}
}
$corps.="Garantie matériel : ".$list[f_7][$f_7]."\n";
$corps.="Matériel conçerné : ".$f_8."\n";
for($id=0; $id<count($list[f_9]); $id++){
if($f_9[$id]==1){
$corps.="Panne de logiciel : ".$list[f_9][$id]."\n";
}
}
$corps.="Contrat logiciel : ".$list[f_10][$f_10]."\n";
$corps.="Logiciel conçerné : ".$f_11."\n";
$corps.="Nature de la panne : ".$f_12."\n";
$corps.="Adresse intervention : ".$f_13."\n";
$corps.="Adresse facturation : ".$f_14."\n";
$corps.="Délais souhaités : ".$list[f_15][$f_15]."\n";
if(mail("[email protected]", $titre, stripslashes($corps), $tete)){
$ok_mail="true";
}else{
$erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>";
}
}
}
?>


Ici la reponse générée lorsque le formulaire est rempli
<?if($ok_mail=="true"){?>
                                    <table width='100%' border='0' cellspacing='1' cellpadding='1'>
                                      <tr> 
                                        <td><span class='txtform'>Le message ci-dessous 
                                          nous a bien été transmis, et nous vous 
                                          en remercions.</span></td>
                                      </tr>
                                      <tr> 
                                        <td><span class='txtform'>Nous allons 
                                          y donner suite dans les meilleurs délais.<br>
                                          A bientôt.<br>
                                          _________________________________________ 
                                          </span></td>
                                      </tr>
                                      <tr> 
                                        <td class="txtform"><tt><?echo nl2br(stripslashes($corps));?></tt></td>
                                      </tr>
                                      <tr> 
                                        <td><span class='txtform'>_________________________________________<br>
                                          Service Apr&eacute;s Vente M G BUREAUTIQUE---> 
                                          <a href="formulaireSAV.php" target="_self">retour</a></span></td>
                                      </tr>
                                    </table>
                                    <?}else{?>
                                    <form action='<?echo$PHP_SELF?>' method='post' name='Form'>
                                      <table width='100%' border='0' cellspacing='1' cellpadding='1'>
                                        <?if($erreur){?>
                                        <tr bgcolor="#C90510"> 
                                          <td colspan='2'><span class='txterror'><font color='white'><b>&nbsp;ERREUR, 
                                            votre message n'a pas été transmis</b></font></span></td>
                                        </tr>

Posté : 19 oct. 2005, 16:57
par charabia
:arrow: Edites ton message et rajoute les [ php ]...[ /php ]

Posté : 19 oct. 2005, 19:02
par Cyrano
Il y a fort à parier que tu nerécupères pas les valeurs de ton formulaire. il dervait y avoir des choses comme ceci:
if(isset($_POST['submit']))
{
    $f_1 = isset($_POST['f_1']) ? $_POST['f_1'] : "";
    //... etc ...
Et après seulement tu pourras utiliser les variables.

envoi de formulaire

Posté : 19 oct. 2005, 19:12
par stroumph31
Merci pour ta réponse aussi rapide. Je vais tester et je te dis si cela fonctionne.

envoi formulaire

Posté : 24 oct. 2005, 10:40
par stroumph31
Merci pour vos réponses. Le problème est résolu. C'était la config de mon php.ini qui n'était pas bonne.