pushiz
Nouveau membre
Points gagnés: 0
Messages: 8
|
 |
Php MySql : Formulaire ? la cata !
« le: 04 Août 2007 à 10:58:29 » |
|
Bonjour à tous ! Voila, j'ai un petit problème  J'ai suivit le tuto de ce site pour créer un formulaire avec la base et tout....Et devinez quoi ? Ca marche ! Mais le seul HIC...c'est que c'est dans la base ! Waouw :p Mais ca ne m'envoie pas d'email Maintenant il est permis de rêver : Est-ce possible de : * Envoyer un e-mail a la personne qui a remplis le formulaire* (j'ai remplacer le champ adresse par email) * mettre le formulaire et la vérification sur la même page ?* Et pour ceux qui se poserai la question...oui je crois toujours au pere noel  A bientot
|
|
|
|
|
Journalisée
|
|
|
|
|
|
Damien
|
 |
Re : Php MySql : Formulaire ? la cata !
« Répondre #1 le: 04 Août 2007 à 11:50:46 » |
|
Bonjour, Oui c'est bien sûr possible d'envoyer un email reprenant les données à la personne qui envoie le formulaire, ce qui donnera un espèce d'accusé de réception récapitulatif en fait. Je ne vais pas réexpliquer comment le faire, car ça a déjà été demandé. Je vous invite à jeter un oeil au sujet Tutoriel Formulaire PHP = BD + accusé de réception. Pour la deuxième question, je ne sais pas si j'ai bien compris, en fait vous voulez dire mettre le formulaire.html et le traitement.php sur une même page ?
|
|
|
|
|
Journalisée
|
|
|
|
pushiz
Nouveau membre
Points gagnés: 0
Messages: 8
|
 |
Re : Php MySql : Formulaire ? la cata !
« Répondre #2 le: 04 Août 2007 à 17:23:57 » |
|
Hello ! Oui c'est exactement ça ! De façon a ce que l'utilisateur ne doivent pas tout réécrire et avoir a rechargé d'autre page. Et aussi tout marche très bien mais j'ai un problème  le message est considérer comme spam sur g-mail et courrier indésirable sur hotmail  comment y remédié ? Merci beaucoup !
|
|
|
|
« Dernière édition: 04 Août 2007 à 18:02:02 par pushiz »
|
Journalisée
|
|
|
|
|
Damien
|
 |
Re : Php MySql : Formulaire ? la cata !
« Répondre #3 le: 04 Août 2007 à 22:28:59 » |
|
Pour les pages à regrouper, c'est faisable sans problème. Il suffit de renommer la page formulaire.html en formulaire.php. Dedans il y aura toujours le formulaire html qui fonctionnera de la même façon, mais au dessus du code html tout au début (au dessus de la balise <html>), vous pouvez insérer le code php du fichier traitement.php. Ca fera quelque chose comme cela : <?php // traitement des données si le formulaire a été envoyé ?> <html> <head></head> <body>Ici tout le code html du formulaire</body> </html>
Et bien entendu dans l'action appelée par le formulaire, il faudra enlevé l'appel du fichier "traitement.php". Ca fera donc : <form method="post" action="">... Sinon pour faire passer les mails envoyés de php sur hotmail ça peut être assez casse tête. Il y a notamment un sender-id à ajouter au serveur DNS d'où est envoyé le mail, qui est une sorte de champ SPF revu à la sauce Microsoft. Pour générer un sender-id, voir cette page : http://www.microsoft.com/mscorp/safety/technologies/senderid/resources.mspxMais pour pouvoir toucher au DNS ça suppose déjà d'avoir un serveur dédié où on a la main dessus, c'est pour ça entre autres que peut être embêtant parfois.
|
|
|
|
|
Journalisée
|
|
|
|
pushiz
Nouveau membre
Points gagnés: 0
Messages: 8
|
 |
Re : Php MySql : Formulaire ? la cata !
« Répondre #4 le: 06 Août 2007 à 20:33:30 » |
|
Coucou ! Je veux pas faire ma chieuse mais c'est horrible, je lis, je lis...et je capte rien lol. Mon code c'est ca et ca fonctionne pas <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>titre</title> </head> <body> <?php session_start();
if(!isset($_SESSION['code']) || strlen($_SESSION['code']) != 6) die("Erreur !");
if($_SESSION['code'] != $_POST['verif']) die("Erreur : le code de protection est invalide !");
session_unset(); session_destroy(); ?> <?php // Parametres mysql à remplacer par les vôtres define('DB_SERVER', 'locst'); // serveur mysql define('DB_SERVER_USERNAME', 'tm'); // nom d'utilisateur define('DB_SERVER_PASSWORD', 'gs'); // mot de passe define('DB_DATABASE', 'urs'); // nom de la base
// Connexion au serveur mysql $connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD) or die('Impossible de se connecter : ' . mysql_error());
// sélection de la base de données mysql_select_db(DB_DATABASE, $connect); $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>"; $msg_ok = "Votre demande a bien été prise en compte."; $message = $msg_erreur; define('MAIL_DESTINATAIRE','@.com'); // remplacer par votre email define('MAIL_SUJET','Message du formulaire de example.com');
// vérification des champs if (empty($_POST['nom'])) $message .= "Votre nom<br/>"; if (empty($_POST['adresse'])) $message .= "Votre adresse<br/>"; if (empty($_POST['codepostal'])) $message .= "Votre code postal<br/>"; if (empty($_POST['ville'])) $message .= "Votre ville<br/>"; if (empty($_POST['comments'])) $message .= "Votre message<br/>";
// si un champ est vide, on affiche le message d'erreur if (strlen($message) > strlen($msg_erreur)) {
echo $message;
// sinon c'est ok } else {
foreach($_POST as $index => $valeur) { $$index = mysql_real_escape_string(trim($valeur)); } $sql = "INSERT INTO formulaire VALUES ('', '".$nom."', '".$adresse."', '".$codepostal."', '".$ville."', '".$pays."', '".$comments."', now())"; $res = mysql_query($sql);
if ($res) { echo $msg_ok; } else { echo mysql_error(); }
} //Préparation de l'entête du mail: $mail_entete = "MIME-Version: 1.0\r\n"; $mail_entete .= "From: {$_POST['nom']} " ."<{$_POST['email']}>\r\n"; $mail_entete .= 'Reply-To: '.$_POST['email']."\r\n"; $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"'; $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n"; $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
// préparation du corps du mail $mail_corps = "Message de : $civilite $nom\n"; $mail_corps .= "Adresse : $adresse, $codepostal $ville, $pays\n"; $mail_corps .= "Ses centres d'intérêts : $sqlinterets\n\n\n"; $mail_corps .= $comments;
// envoi du mail if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
//Le mail est bien expédié echo $msg_ok; } else {
//Le mail n'a pas été expédié echo 'Une erreur est survenue lors de l\'envoi du formulaire par email'; }
} ?> <?php //Préparation de l'entête du mail $mail_entete = "MIME-Version: 1.0\r\n"; $mail_entete .= "From: ". MAIL_DESTINATAIRE . "<" . MAIL_DESTINATAIRE . ">\r\n"; $mail_entete .= 'Reply-To: '.$_POST['email']."\r\n"; $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"' ; $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n"; $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
// préparation du corps du mail $mail_corps .= "Nous vous confirmons que nous avons bien reçu votre formulaire etc\n"; $mail_corps .= "Adresse : $adresse, $codepostal $ville, $pays\n"; $mail_corps .= $comments;
// envoi du mail $res_mail = mail($_POST['email'],MAIL_SUJET,$mail_corps,$mail_entete); ?> <form method="post" action=""> <p class="titre">Coordonnées</p> <label>Nom : </label> <input type="text" name="nom" size="30"/><br /> <label>Adresse : </label> <input type="text" name="adresse" size="30" /><br /> <label>Code postal : </label> <input type="text" name="codepostal" size="30" /><br /> <label>Ville : </label> <input type="text" name="ville" size="30" /><br /> <label>Adresse email : </label> <input type="text" name="email" size="30" /><br /> <label>Pays : </label> <select name="pays"> <option value="france">France</option> <option value="belgique">Belgique</option> <option value="suisse">Suisse</option> </select> <p class="titre">Message</p> <textarea name="comments" rows="5" cols="40"></textarea> <label for="verif">Recopiez le code de vérification suivant :</label> <img src="antispam.php" alt="image de protection" /> <input type="text" name="verif" size="10" maxlength="10" onchange="javascript:this.value=this.value.toUpperCase();" /> <br /> <p id="buttons"> <input type="submit" value="Envoyer" /> <br /><br /> <input type="reset" value="Recommencer" /> </p> </form> </div> </div> </body> </html> Voila ca a l'aire juste non ? Sauriez-vous me commenter ce code et m'expliquer mes erreur svp ? Ce serai super sympa ! Parceque pour moi la vrai aide c'est l'explication et la compréhension...franchement je cherche....Et pour le sender id (ce sera plus tard) mais c'est payant ? et je dois le demander a mon hébergeur de domaine ? :p Merci Naîvement : Pushiizzzzz
|
|
|
|
« Dernière édition: 08 Août 2007 à 17:37:26 par pushiz »
|
Journalisée
|
|
|
|
pushiz
Nouveau membre
Points gagnés: 0
Messages: 8
|
 |
Re : Php MySql : Formulaire ? la cata !
« Répondre #5 le: 07 Août 2007 à 20:02:35 » |
|
Sniff...  Je vous ennuye hein ? lol tant pis merci quand même 
|
|
|
|
|
Journalisée
|
|
|
|
|
Damien
|
 |
Re : Php MySql : Formulaire ? la cata !
« Répondre #6 le: 07 Août 2007 à 20:11:05 » |
|
Bonsoir, Vous ne dérangez pas, mais avec les vacances il ne faut pas être pressé Concernant votre code, le problème majeur se trouve avec les sessions. Un session_start(); est nécessaire pour initialiser les sessions avant toute utilisation d'une session. Par contre il doit être placé obligatoirement en tout début de script, et là c'est gênant. Votre morceau de code suivant devrait donc être au tout début avant le "<!DOCTYPE html"... : <?php session_start();
if(!isset($_SESSION['code']) || strlen($_SESSION['code']) != 6) die("Erreur !");
if($_SESSION['code'] != $_POST['verif']) die("Erreur : le code de protection est invalide !");
session_unset(); session_destroy(); ?>
|
|
|
|
|
Journalisée
|
|
|
|
pushiz
Nouveau membre
Points gagnés: 0
Messages: 8
|
 |
Re : Php MySql : Formulaire ? la cata !
« Répondre #7 le: 08 Août 2007 à 17:25:21 » |
|
Kikoo, Voila, resulat négatif, j'ai une page blanche... ni texte, ni message d'erreur... tout blanc et quand je regarde ma source a ce moment...aucun code ! snif snif
|
|
|
|
|
Journalisée
|
|
|
|
pushiz
Nouveau membre
Points gagnés: 0
Messages: 8
|
 |
Re : Php MySql : Formulaire ? la cata !
« Répondre #8 le: 08 Août 2007 à 17:36:30 » |
|
Oups, si jamais le code peu aider... <?php session_start();
if(!isset($_SESSION['code']) || strlen($_SESSION['code']) != 6) die("Erreur !");
if($_SESSION['code'] != $_POST['verif']) die("Erreur : le code de protection est invalide !");
session_unset(); session_destroy(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> </head> <body> <?php // Parametres mysql à remplacer par les vôtres define('DB_SERVER', 'localhost'); // serveur mysql define('DB_SERVER_USERNAME', 'tm'); // nom d'utilisateur define('DB_SERVER_PASSWORD', 'gs'); // mot de passe define('DB_DATABASE', 'utrs'); // nom de la base
// Connexion au serveur mysql $connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD) or die('Impossible de se connecter : ' . mysql_error());
// sélection de la base de données mysql_select_db(DB_DATABASE, $connect); $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>"; $msg_ok = "Votre demande a bien été prise en compte."; $message = $msg_erreur; define('MAIL_DESTINATAIRE','@.com'); // remplacer par votre email define('MAIL_SUJET','Message du formulaire de example.com');
// vérification des champs if (empty($_POST['nom'])) $message .= "Votre nom<br/>"; if (empty($_POST['adresse'])) $message .= "Votre adresse<br/>"; if (empty($_POST['codepostal'])) $message .= "Votre code postal<br/>"; if (empty($_POST['ville'])) $message .= "Votre ville<br/>"; if (empty($_POST['comments'])) $message .= "Votre message<br/>";
// si un champ est vide, on affiche le message d'erreur if (strlen($message) > strlen($msg_erreur)) {
echo $message;
// sinon c'est ok } else {
foreach($_POST as $index => $valeur) { $$index = mysql_real_escape_string(trim($valeur)); } $sql = "INSERT INTO formulaire VALUES ('', '".$nom."', '".$adresse."', '".$codepostal."', '".$ville."', '".$pays."', '".$comments."', now())"; $res = mysql_query($sql);
if ($res) { echo $msg_ok; } else { echo mysql_error(); }
} //Préparation de l'entête du mail: $mail_entete = "MIME-Version: 1.0\r\n"; $mail_entete .= "From: {$_POST['nom']} " ."<{$_POST['email']}>\r\n"; $mail_entete .= 'Reply-To: '.$_POST['email']."\r\n"; $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"'; $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n"; $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
// préparation du corps du mail $mail_corps = "Message de : $civilite $nom\n"; $mail_corps .= "Adresse : $adresse, $codepostal $ville, $pays\n"; $mail_corps .= "Ses centres d'intérêts : $sqlinterets\n\n\n"; $mail_corps .= $comments;
// envoi du mail if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
//Le mail est bien expédié echo $msg_ok; } else {
//Le mail n'a pas été expédié echo 'Une erreur est survenue lors de l\'envoi du formulaire par email'; }
} ?> <?php //Préparation de l'entête du mail $mail_entete = "MIME-Version: 1.0\r\n"; $mail_entete .= "From: ". MAIL_DESTINATAIRE . "<" . MAIL_DESTINATAIRE . ">\r\n"; $mail_entete .= 'Reply-To: '.$_POST['email']."\r\n"; $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"' ; $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n"; $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
// préparation du corps du mail $mail_corps .= "Nous vous confirmons que nous avons bien reçu votre formulaire etc\n"; $mail_corps .= "Adresse : $adresse, $codepostal $ville, $pays\n"; $mail_corps .= $comments;
// envoi du mail $res_mail = mail($_POST['email'],MAIL_SUJET,$mail_corps,$mail_entete); ?></p> <form method="post" action=""> <p class="titre">Coordonnées</p> <label>Nom : </label> <input type="text" name="nom" size="30"/><br /> <label>Adresse : </label> <input type="text" name="adresse" size="30" /><br /> <label>Code postal : </label> <input type="text" name="codepostal" size="30" /><br /> <label>Ville : </label> <input type="text" name="ville" size="30" /><br /> <label>Adresse email : </label> <input type="text" name="email" size="30" /><br /> <label>Pays : </label> <select name="pays"> <option value="france">France</option> <option value="belgique">Belgique</option> <option value="suisse">Suisse</option> </select> <p class="titre">Message</p> <textarea name="comments" rows="5" cols="40"></textarea> <label for="verif">Recopiez le code de vérification suivant :</label> <img src="antispam.php" alt="image de protection" /> <input type="text" name="verif" size="10" maxlength="10" onchange="javascript:this.value=this.value.toUpperCase();" /> <br /> <p id="buttons"> <input type="submit" value="Envoyer" /> <br /><br /> <input type="reset" value="Recommencer" /> </p> </form> </body> </html>
|
|
|
|
|
Journalisée
|
|
|
|
|
Damien
|
 |
Re : Php MySql : Formulaire ? la cata !
« Répondre #9 le: 09 Août 2007 à 10:51:20 » |
|
Bonjour, Premier problème avec votre code : - il y a une accolade fermée ligne 95 qui n'est jamais ouverte (ne correspond à rien). C'est celle qui est ici : //Le mail n'a pas été expédié echo 'Une erreur est survenue lors de l\'envoi du formulaire par email'; } [b]}[/b]
?> <?php //Préparation de l'entête du mail $mail_entete = "MIME-Version: 1.0\r\n"; Il y a un autre souci avec la vérification du code de sécurité. Si vous aviez fait 2 pages du style formulaire.html et traitement.php, traitement.php serait uniquement appelé lorsque le formulaire est rempli. Donc la ligne suivant est bien valide : if(!isset($_SESSION['code']) || strlen($_SESSION['code']) != 6) die("Erreur !"); Mais dans votre cas tout est regroupé dans un seul fichier (le formulaire html et le traitement des données). Quand vous appeler le formulaire, il n'y aucun code de sécurité encore rentré puisque le formulaire n'est pas encore rempli. Donc le script s'arretera sur le messag "Erreur !" à tous les coups. Il faudrait donc remplacer : <?php session_start(); if(!isset($_SESSION['code']) || strlen($_SESSION['code']) != 6) die("Erreur !"); if($_SESSION['code'] != $_POST['verif']) die("Erreur : le code de protection est invalide !"); session_unset(); session_destroy(); ?> par : <?php session_start();
// le formulaire est envoyé si $_POST['email'] ou un autre champ existe if (isset($_POST['email'])) { if(!isset($_SESSION['code']) || strlen($_SESSION['code']) != 6) die("Erreur : !"); if($_SESSION['code'] != $_POST['verif']) die("Erreur : le code de protection est invalide !"); }
session_unset(); session_destroy(); ?>
|
|
|
|
|
Journalisée
|
|
|
|
pushiz
Nouveau membre
Points gagnés: 0
Messages: 8
|
 |
Re : Php MySql : Formulaire ? la cata !
« Répondre #10 le: 11 Août 2007 à 19:25:35 » |
|
Hellow hellow, Alors, on croyait ne pas avoir des nouvelles de l'emmerdeuse ?  Et bien c'est raté :p !!! J'était partie quelque jours mais me revoilou ! J'ai tester le code, merci beaucoup ! J'ai encore un problème mais je comprendrai que vous en ayez marre de répondre lol. Donc dors et déja merci pour tout, bisoux bisoux ! Pushizzz :p Le code tester <?php session_start();
// le formulaire est envoyé si $_POST['email'] ou un autre champ existe if (isset($_POST['email'])) { if(!isset($_SESSION['code']) || strlen($_SESSION['code']) != 6) die("Erreur : !"); if($_SESSION['code'] != $_POST['verif']) die("Erreur : le code de protection est invalide !"); }
session_unset(); session_destroy(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>::::</title> <META NAME="ROBOT" CONTENT="all"> <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" /> <link rel="stylesheet" href="css/style.css" type="text/css" media="screen"> <script src="js/prototype.js" type="text/javascript"></script> <script src="js/scriptaculous.js?load=effects" type="text/javascript"></script> </head> <body> <div id="site"> <h1></h1> <p></p> <div> <h3></h3> <p><a href="#" onclick="Effect.toggle('listeToggle','blind')">Afficher / Masquer le menu</a></p> <p><?php // Parametres mysql à remplacer par les vôtres define('DB_SERVER', 'localhost'); // serveur mysql define('DB_SERVER_USERNAME', 'tm'); // nom d'utilisateur define('DB_SERVER_PASSWORD', 'g'); // mot de passe define('DB_DATABASE', 'us'); // nom de la base
// Connexion au serveur mysql $connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD) or die('Impossible de se connecter : ' . mysql_error());
// sélection de la base de données mysql_select_db(DB_DATABASE, $connect); $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>"; $msg_ok = "Votre demande a bien été prise en compte."; $message = $msg_erreur; define('MAIL_DESTINATAIRE','@'); // remplacer par votre email define('MAIL_SUJET','Message du formulaire de example.com');
// vérification des champs if (empty($_POST['nom'])) $message .= "Votre nom<br/>"; if (empty($_POST['adresse'])) $message .= "Votre adresse<br/>"; if (empty($_POST['codepostal'])) $message .= "Votre code postal<br/>"; if (empty($_POST['ville'])) $message .= "Votre ville<br/>"; if (empty($_POST['comments'])) $message .= "Votre message<br/>";
// si un champ est vide, on affiche le message d'erreur if (strlen($message) > strlen($msg_erreur)) {
echo $message;
// sinon c'est ok } else {
foreach($_POST as $index => $valeur) { $$index = mysql_real_escape_string(trim($valeur)); } $sql = "INSERT INTO formulaire VALUES ('', '".$nom."', '".$adresse."', '".$codepostal."', '".$ville."', '".$pays."', '".$comments."', now())"; $res = mysql_query($sql);
if ($res) { echo $msg_ok; } else { echo mysql_error(); }
} //Préparation de l'entête du mail: $mail_entete = "MIME-Version: 1.0\r\n"; $mail_entete .= "From: {$_POST['nom']} " ."<{$_POST['email']}>\r\n"; $mail_entete .= 'Reply-To: '.$_POST['email']."\r\n"; $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"'; $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n"; $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
// préparation du corps du mail $mail_corps = "Message de : $civilite $nom\n"; $mail_corps .= "Adresse : $adresse, $codepostal $ville, $pays\n"; $mail_corps .= "Ses centres d'intérêts : $sqlinterets\n\n\n"; $mail_corps .= $comments;
// envoi du mail if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
//Le mail est bien expédié echo $msg_ok; } else {
//Le mail n'a pas été expédié echo 'Une erreur est survenue lors de l\'envoi du formulaire par email'; } ?> <?php //Préparation de l'entête du mail $mail_entete = "MIME-Version: 1.0\r\n"; $mail_entete .= "From: ". MAIL_DESTINATAIRE . "<" . MAIL_DESTINATAIRE . ">\r\n"; $mail_entete .= 'Reply-To: '.$_POST['email']."\r\n"; $mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"' ; $mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n"; $mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
// préparation du corps du mail $mail_corps .= "Nous vous confirmons que nous avons bien reçu votre formulaire etc\n"; $mail_corps .= "Adresse : $adresse, $codepostal $ville, $pays\n"; $mail_corps .= $comments;
// envoi du mail $res_mail = mail($_POST['email'],MAIL_SUJET,$mail_corps,$mail_entete); ?></p> <form method="post" action=""> <p class="titre">Coordonnées</p> <label>Nom : </label> <input type="text" name="nom" size="30"/><br /> <label>Adresse : </label> <input type="text" name="adresse" size="30" /><br /> <label>Code postal : </label> <input type="text" name="codepostal" size="30" /><br /> <label>Ville : </label> <input type="text" name="ville" size="30" /><br /> <label>Adresse email : </label> <input type="text" name="email" size="30" /><br /> <label>Pays : </label> <select name="pays"> <option value="france">France</option> <option value="belgique">Belgique</option> <option value="suisse">Suisse</option> </select> <p class="titre">Message</p> <textarea name="comments" rows="5" cols="40"></textarea> <label for="verif">Recopiez le code de vérification suivant :</label> <img src="antispam.php" alt="image de protection" /> <input type="text" name="verif" size="10" maxlength="10" onchange="javascript:this.value=this.value.toUpperCase();" /> <br /> <p id="buttons"> <input type="submit" value="Envoyer" /> <br /><br /> <input type="reset" value="Recommencer" /> </p> </form> </div> </div> </body> </html> La réponse.... Erreur : le code de protection est invalide ! Voici voila  bonne chance sherlock 
|
|
|
|
|
Journalisée
|
|
|
|
|
Damien
|
 |
Re : Php MySql : Formulaire ? la cata !
« Répondre #11 le: 12 Août 2007 à 14:35:55 » |
|
Bonjour pushiz, Le code de protection peut être invalide pour plusieurs raisons. Il faut vérifier : 1/ que le fichier antispam.php est bien présent et donc que le code de sécurité d'affiche bien sur votre formulaire. 2/ que le code s'enregistre bien en session mais normalement c'est le cas de mémoire si ce fichier de code de sécurité vient du tutoriel sur le site. 3/ je vois peut-être un autre souci sur votre champ "verif" qui sert à recopier le code de sécurité : <input type="text" name="verif" size="10" maxlength="10" onchange="javascript:this.value=this.value.toUpperCase();" /> Le onchange="javascript:this.value=this.value.toUpperCase();" met systématiquement ce que l'on tape en majuscule. Mais attention que le code généré par antispam.php ne comporte bien que des majuscules, sinon la comparaison entre les deux codes ne passera pas.
|
|
|
|
|
Journalisée
|
|
|
|
pushiz
Nouveau membre
Points gagnés: 0
Messages: 8
|
 |
Re : Php MySql : Formulaire ? la cata !
« Répondre #12 le: 14 Août 2007 à 14:57:07 » |
|
Bonjour, Il commence a devinir long ce post !  Voilà tout roule... BRAvO ! :p Juste 2 petite questions : Mes messages ce mette toujour dans spam... Le contenu de mes message est : Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
X-Mailer:PHP/4.3.10Avant le message. Est-ce possible d'envoyer un message automatique, ne reprenant pas spécialement les infos. en HTML ? Facilement ? lol sinon laissez tomber... :p ALlais bonne journée 
|
|
|
|
|
Journalisée
|
|
|
|
|