Problème de formulaire PHP

Résolu/Fermé
artificier15400 Messages postés 4 Date d'inscription jeudi 2 février 2012 Statut Membre Dernière intervention 4 février 2012 - 2 févr. 2012 à 16:50
artificier15400 Messages postés 4 Date d'inscription jeudi 2 février 2012 Statut Membre Dernière intervention 4 février 2012 - 4 févr. 2012 à 08:55
Bonjour, j'ai un formulaire dans mon site web qui devrait collecter des infos et me les transmettre normalement dans ma boite mail mais rien ne se passe...

serait-ce un problème dans mon code ou aurais-je besoin de Mysql ??

voici mon 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['champ5'] = $_POST['champ5'];
$_SESSION['champ6'] = $_POST['champ6'];
$_SESSION['champ7'] = $_POST['champ7'];
$_SESSION['zone_email1'] = $_POST['zone_email1'];
$_SESSION['zone_email2'] = $_POST['zone_email2'];
$_SESSION['liste1'] = $_POST['liste1'];

//Evaluation du bouton 1 ...
switch($_POST['bouton1']) {
case "Mr":
$_SESSION['bouton1'] = "Mr";
break;
case "Mme":
$_SESSION['bouton1'] = "Mme";
break;
case "Melle":
$_SESSION['bouton1'] = "Melle";
break;
default:
$_SESSION['bouton1'] = "";
} // Fin du switch...

//Evaluation du bouton 2 ...
switch($_POST['bouton2']) {
case "RR":
$_SESSION['bouton2'] = "RR";
break;
default:
$_SESSION['bouton2'] = "";
} // Fin du switch...

//Evaluation du bouton 3 ...
switch($_POST['bouton3']) {
case "TT":
$_SESSION['bouton3'] = "TT";
break;
default:
$_SESSION['bouton3'] = "";
} // Fin du switch...

//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 = "pyrostef@live.fr";
$sujet = "Informations clients";
$entetes ="MIME-Version: 1.0 \n";
$entetes .="From: Stef Pyrotechnie<pyrostef@live.fr>\n";
$entetes .="Return-Path: Stef Pyrotechnie<pyrostef@live.fr>\n";
$entetes .="Reply-To: Stef Pyrotechnie<pyrostef@live.fr>\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\">Prénom = " . $_SESSION['champ2'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Date de naissance = " . $_SESSION['champ3'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Adresse = " . $_SESSION['champ4'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Code Postal = " . $_SESSION['champ5'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Ville = " . $_SESSION['champ6'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Téléphone = " . $_SESSION['champ7'] . "</font><br>\n";
$partie_zone_email .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Adresse email = " . $_SESSION['zone_email1'] . "</font><br>\n";
$partie_zone_email .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Confirmation adresse email = " . $_SESSION['zone_email2'] . "</font><br>\n";
$partie_listes .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Vous voulez nous contacter à propos de : = " . $_SESSION['liste1'] . "</font><br>\n";
$partie_boutons .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">statut = " . $_SESSION['bouton1'] . "</font><br>\n";
$partie_boutons .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">statut = " . $_SESSION['bouton2'] . "</font><br>\n";
$partie_boutons .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">statut = " . $_SESSION['bouton3'] . "</font><br>\n";
$partie_zone_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Vous pouvez déposer votre message ici : = " . $_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:remerciements formulaire.html");
exit();
} // Fin else
} // Fin du if ($flag_erreur == 0) {
} // Fin de if POST
?>

Je vous remercie d'avance pour vos solutions.
bonne soirée

4 réponses

La comme ça, je dirais que tu as besoin d'une bdd pour récupérer, stocker et renvoyer les champs.
0
artificier15400 Messages postés 4 Date d'inscription jeudi 2 février 2012 Statut Membre Dernière intervention 4 février 2012
3 févr. 2012 à 16:10
ok je vais tenter ça alors mais si tu es dans le coin j'aurais peut etre besoin de toi si tu connais un peu mysql.

merci de ta réponse en tous cas.
0
Bonjour

Tu n'as besoin de mysql que si tu veux conserver les infos pour t'en resservir plus tard. Si c'est juste pour les envoyer par mail, c'est totalement inutile.
0
artificier15400 Messages postés 4 Date d'inscription jeudi 2 février 2012 Statut Membre Dernière intervention 4 février 2012
3 févr. 2012 à 21:00
ok et non je ne conserve pas les infos, c'est juste pour moi histoire de répondre au client simplement.
donc est ce que mon code est valide ou non ? car quand je remplis les champs et que je fais envoyer, je ne reçois rien sur ma boite mail, et rien ne m'indique si c'est parti ou non.

merci de ta réponse en attendant.

bonne soirée
0
Je ne vois pas d'erreur évidente dans ton code.
1 - As-tu un message d'erreur ?
2 - Vois-tu l'affichage de "Envoi du formulaire impossible"
3 - Es-tu redirigé vers la page remerciements formulaire.html ?
4 - Au début de ton script, insère une ligne juste après <?php :
print_r($_POST); exit;

D'après ce que tu dis, c'est que le formulaire n'est pas reçu - ou n'a aucun champ qui s'appelle 'envoi'
0
artificier15400 Messages postés 4 Date d'inscription jeudi 2 février 2012 Statut Membre Dernière intervention 4 février 2012
4 févr. 2012 à 08:55
Bonjour, alors j'ai inséré le bout de code que tu m'as donné, j'ai bien ma page "remerciements formulaire" qui s'affiche après avoir cliquer sur envoyer mais pas de mail qui arrive encore...

Bonne journée et merci encore
0