Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: Francy80 le le 17-02-2015 a 21:47:38

Titre: Code php formulaire
Posté par: Francy80 le le 17-02-2015 a 21:47:38

Bonsoir,

Mon problème est que j'ai crée un formulaire sur un site de générateur et il y aussi le code PHP mais quand je fais un essaie il n'y a aucun mail qui arrive dans la boite mail et j'ai une page d'erreur disant que le lien est brisé.
Voici le code php:

<?php

// On vérifie si la fonction ini_set() a été désactivée...
$desactive = ini_get('disable_functions');
if (preg_match("/ini_set/i", "$desactive") == 0) {
// Si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
ini_set("error_reporting" , "E_ALL & ~E_NOTICE");
}

// Vérifier que le formulaire a été envoyé...
if (isset($_POST['envoi'])) {


//On commence une session pour enregistrer les variables du formulaire...

session_start();

$_SESSION['champ1'] = $_POST['champ1'];
$_SESSION['champ2'] = $_POST['champ2'];
$_SESSION['champ3'] = $_POST['champ3'];
$_SESSION['champ4'] = $_POST['champ4'];
$_SESSION['zone_email1'] = $_POST['zone_email1'];

//Enregistrement des zones de texte...
$_SESSION['zone_texte1'] = $_POST['zone_texte1'];

// Définir l\'icone apparaissant en cas d\'erreur...


// Définir sur 0 pour afficher un petit x de couleur rouge.
// Définir sur 1 pour afficher l\'image d\'une croix rouge telle que celle utilisée dans l\'assistant
// Si vous utilisez l\'option 1, l\'image de la croix rouge \'icone.gif\' doit se trouver dans le répertoire \'images\',
// ce dernier devant se trouver au même niveau que votre formulaire...
$flag_icone = 0;

// On vérifie si $flag_icone est défini sur 0 ou 1...
if ($flag_icone == 0) {
$icone = "<b><font size=\"3\" face=\"Arial, Verdana, Helvetica, sans-serif\" color=\"#CC0000\">x</font></b>";
} else {
$icone = "<img src=\"images/icone.gif\"";
}

// Définir l'indicateur d'erreur sur zéro...
$flag_erreur = 0;
// N'envoyer le formulaire que s'il n'y a pas d'erreurs...
if ($flag_erreur == 0) {               

// Addresse de réception du formulaire
$email_dest = "garage.a@gmail.com";
$sujet = "Garage";
$entetes ="MIME-Version: 1.0 \n";
   $entetes .="From: Garage
<garage@gmail.com>\n";
   $entetes .="Return-Path: Garage<garage@gmail.com>\n";
   $entetes .="Reply-To: Garage<garage@gmail.com>\n";
   $entetes .="Content-Type: text/html; charset=iso-8859-1 \n";
   $partie_entete = "<html>\n<head>\n<title>Formulaire</title>\n<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>\n</head>\n<body bgcolor=#FFFFFF>\n";


//Partie HTML de l'e-mail...
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">nom = " . $_SESSION['champ1'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">prenom = " . $_SESSION['champ2'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">tel = " . $_SESSION['champ3'] . "</font><br>\n";
$partie_zone_email .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">garage@gmail.com = " . $_SESSION['zone_email1'] . "</font><br>\n";
$partie_zone_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">message = " . $_SESSION['zone_texte1'] . "</font><br>\n";
               

               // Fin du message HTML
               $fin = "</body></html>\n\n";
               
               $sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_listes . $partie_boutons . $partie_cases . $partie_zone_texte . $fin;


               // Send the e-mail
               if (@!mail($email_dest,$sujet,$sortie,$entetes)) {
               echo("Envoi du formulaire impossible");
               exit();
               } else {

// Rediriger vers la page de remerciement
header("Location:http://www.garage.com/merci.html");
exit();
} // Fin else
          } // Fin du if ($flag_erreur == 0) {
         } // Fin de if POST
?>

Merci beaucoup pour votre aide
Francy

Titre: Re:Code php formulaire
Posté par: pppplus le le 18-02-2015 a 09:14:51

C'est mieux de mettre le code dans les balises PHP.

=> je ne vois pas le formulaire de contact.
Ici, vous n'avez mis que le traitement du formulaire.

Pour tester, en début de votre fichier de traitement, faites un :
print_r($_POST);

Vous verrez si toutes les variables envoyées par le formulaire de contact sont bien là.

=> lien brisé :
votre formulaire de contact envoie-t-il bien sur la page de traitement présentée ici ?

=> entête email :
pas sûr que \n soit valide en fin de ligne, il faut mettre \r\n


Titre: Re:Code php formulaire
Posté par: Francy80 le le 18-02-2015 a 22:10:19

Bonsoir pppplus,

Non il m'envoie sur une page blanche avec la phrase "Lien brisé..."

Voici le formulaire de contact:

<div style="text-align: left; margin-top: -710px; margin-left: 104px; width: 673px;">
<div style="text-align: center;">
</div>
<form style="margin-left: 2px; width: 673px;" name="formail" method="post" action="formail.php";?=$_SERVER['PHP_SELF']?&gt;">
<div style="text-align: center;"> <font style="color: white; text-decoration: underline; font-style: italic;" face="Verdana, Arial, Helvetica, sans-serif, Tahoma" size="2"><strong>Formulaire</strong></font><br>
</div>
<br>
<table style="text-align: left; margin-left: 0px; margin-right: auto;" border="0" width="566">
<tbody>
<tr>
<td style="color: white;" width="140"><big>
</big><div align="right"><big><font face="Verdana" size="1"><big>Nom</big></font></big></div><big>
</big></td>
<td align="center" valign="middle" width="30"><?php if ($erreur_champ2) {

echo($icone);

}

?>
<br>
</td>
<td><input name="champ1"></td>
</tr>
</tbody>
<tbody>
<tr>
<td style="color: white;" width="140">
<div align="right"><font face="Verdana" size="2">Prenom</font></div>
</td>
<td align="center" valign="middle" width="30"><?php if ($erreur_champ2) {

    echo($icone);

    }

    ?>
<br>
</td>
<td><input name="champ2"></td>
</tr>
</tbody>
</table>
<table style="text-align: left; margin-left: 0px; margin-right: auto;" border="0" width="566">
<tbody>
<tr>
<td style="color: white;" width="140">
<div align="right"><font face="Verdana" size="2">Tel</font></div>
</td>
<td align="center" valign="middle" width="30"><?php if ($erreur_champ3) {

    echo($icone);

    }

    ?>
<br>
</td>
<td><input name="champ3"></td>
</tr>
</tbody>
</table>
<table style="text-align: left; margin-left: 0px; margin-right: auto;" border="0" width="566">
<tbody>
<tr>
<td width="140">
<div align="right"><font face="Verdana" size="2"><span style="color: white;">E-mail</span></font></div>
</td>
<td align="center" valign="middle" width="30"><?php if ($erreur_email1) {

    echo($icone);

    }

    ?>
<br>
</td>
<td><input name="zone_email1"></td>
</tr>
</tbody>
</table>
<table style="text-align: left; margin-left: 0px; margin-right: auto;" border="0" width="566">
<tbody>
<tr>
<td style="color: white;" valign="top" width="140">
<div align="right"><font face="Verdana" size="2">Message</font></div>
</td>
<td align="center" valign="top" width="30"><?php if ($erreur_texte1) {

    echo($icone);

    }

    ?>
<br>
</td>
<td><textarea name="zone_texte1" cols="45" rows="10"></textarea></td>
</tr>
</tbody>
</table>
<table style="text-align: left; margin-left: 0px; margin-right: auto;" border="0" width="566">
<tbody>
<tr>
<td valign="top">
<div align="center"> <input name="Reset" value=" Effacer " type="reset"> <input name="envoi" value="Envoyer" type="submit"> </div>
</td>
</tr>
</tbody>
</table>
<input name="nbre_fichiers" id="nbre_fichiers" value="" type="hidden"></form>
</div>

Titre: Re:Code php formulaire
Posté par: pppplus le le 18-02-2015 a 22:19:00


Code:
<form style="margin-left: 2px; width: 673px;" name="formail" method="post" action="formail.php";?=$_SERVER['PHP_SELF']?&gt;">


Cette ligne ne veut rien dire, mettez :

Code:
<form style="margin-left: 2px; width: 673px;" name="formail" method="post" action="formail.php">


=> et le fichier de traitement PHP que vous avez mis dans le premier post doit s'appeler formail.php

Titre: Re:Code php formulaire
Posté par: Francy80 le le 19-02-2015 a 16:53:14

Bonjour pppplus,

J'ai bien corrigé la ligne et aussi rectifié le nom de mon fichier .php et sa fonctionne maintenant ;D

C'est super sa fais 1 semaine que je galérais pour sa :)

Merci beaucoup pour ton aide pppplus :)
Je ne quitterais plus ce forum d'aide ;D

a bientôt

Francy


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.