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']?>"> <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']?>"> |
|
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.
|