un formulaire d'inscription via un email

Eléphanteau du PHP | 18 Messages

15 juin 2006, 14:39

bonjour a tous,

voilà ma problématique. je souhaiterais envoyer une newsletter et sur cette newsletter devrait figurer un formulaire d'inscrption (champs nom, prenom, adresse, telephone) classique pour que l'utilisateur n'ait pas à cliquer sur un lien externe mais qu'il puisse s'inscrire directement depuis son client mail.

est ce possible de réaliser celà en php et comment procéder ?

merci d'avance
nico

Eléphant du PHP | 112 Messages

15 juin 2006, 14:57

Tu peux toujours faire le formulaire en html... le reste en php mais il y aura quand meme une sortie vers une page de navigateur
Image

Invité
Invité n'ayant pas de compte PHPfrance

15 juin 2006, 15:03

alors, en fait effectivement, j'ai déjà fait le formulaire en html, et j'ai fait une page de traitement externe...

j'ai testé le formulaire sur une page html qui fonctionne parfaitement.

par contre, quand j'envoie une newsletter de test, une nouvelle fiche se crée quand je renvoie vers la page externe, mais tous les champs sont vides :?:

Eléphanteau du PHP | 18 Messages

15 juin 2006, 15:05

j'ai oublié de me connecter precedement :oops:

Eléphant du PHP | 140 Messages

15 juin 2006, 15:07

par contre, quand j'envoie une newsletter de test, une nouvelle fiche se crée quand je renvoie vers la page externe, mais tous les champs sont vides :?:
Je ne comprends pas ce que tu veux dire par la. :?:

Eléphanteau du PHP | 18 Messages

15 juin 2006, 15:15

pardon je vais essayer d'etre plus clair,

1. j'ai fait une page html avec le formulaire que j'ai mise en ligne sous le nom inscription.htm
2 j'ai également réalisé une page de traitement en php avec une requette d'instertion.

quand je teste tout ca sur mon navigateur favoris, tout cela fonctionne et ma requete d'ajout s'execute parfaitement.

j'ai ensuite envoyé ma page html en tant que newsletter mais là, quand je remplis mes champs dans mon client mail, la page de traitement ne fonctionne plus et ne retient aucun de mes champs ? voici la balise form que j'ai mise

Code : Tout sélectionner

<form action="http://www.monsite.com/verif_newsletter.php" method="post" name="newsletter" id="newsletter"> </form>
je ne sais donc pas pourquoi cela fcontionne sur mon navigateur et pas sous mon cleint mail

Eléphant du PHP | 140 Messages

15 juin 2006, 15:19

quand je remplis mes champs dans mon client mail, la page de traitement ne fonctionne plus et ne retient aucun de mes champs ?
Que veux-tu dire par la ?
Es-tu sur que ta page a ete appelee ? Connais tu les parametres envoyes par ton formulaire ?

Eléphanteau du PHP | 18 Messages

15 juin 2006, 15:24

voici ma page html

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Document sans nom</title> <style type="text/css"> <!-- body{ background-color:#DBD0AA; } p { font-family: Verdana,sans-serif; font-size:12px; color:#333333; text-align:justify; } #contenu{ width:466px; background-color:#FFFFFF; border:1px solid #FF9900; } --> </style> </head> <body> <div id="contenu"> <form action="http://www.monsite.com/verif_newsletter.php" method="post" name="newsletter" id="newsletter"> <p align="center">Pour &ecirc;tre tenu au courant de toutes nos offres par e-mail, <br /> veuillez remplir le formulaire suivant.</p> <br /> <table width="91%" border="0" align="center" cellpadding="0" cellspacing="5"> <tr> <td width="55%"><div align="right"><strong>Nom du directeur <span class="Style1">*</span></strong> :</div></td> <td width="45%"><p align="left"> <input name="nomDirecteur" type="text" /> </p></td> </tr> <tr> <td height="29"><div align="right"><strong>Nom de l'&eacute;tablissement <span class="Style1">*</span></strong> :</div></td> <td><div align="left"> <input name="nomEtablissement" type="text" /> </div></td> </tr> <tr> <td><div align="right"><strong>D&eacute;partement <span class="Style1">*</span></strong> :</div></td> <td><div align="left"> <select name="departement" id="departement" size="1"> <option value="">Cliquez ici</option> <option value="1">01 - Ain</option> <option value="2">02 - Aisne</option> <option value="3">03 - Allier</option> <option value="4">04 - Alpes de Haute Provence</option> <option value="5">05 - Alpes (Hautes)</option> <option value="6">06 - Alpes Maritimes</option> <option value="7">07 - Ard&egrave;che</option> <option value="8">08 - Ardennes</option> <option value="9">09 - Ari&egrave;ge</option> <option value="10">10 - Aube</option> <option value="11">11 - Aude</option> <option value="12">12 - Aveyron</option> <option value="13">13 - Bouches du Rh&ocirc;ne</option> <option value="14">14 - Calvados</option> <option value="15">15 - Cantal</option> <option value="16">16 - Charente</option> <option value="17">17 - Charente Maritime</option> <option value="18">18 - Cher</option> <option value="19">19 - Corr&egrave;ze</option> <option value="20">20 - Corse</option> <option value="21">21 - C&ocirc;te d'or</option> <option value="22">22 - C&ocirc;tes d'Armor</option> <option value="23">23 - Creuse</option> <option value="24">24 - Dordogne</option> <option value="25">25 - Doubs</option> <option value="26">26 - Dr&ocirc;me</option> <option value="27">27 - Eure</option> <option value="28">28 - Eure et Loir</option> <option value="29">29 - Finist&egrave;re</option> <option value="30">30 - Gard</option> <option value="31">31 - Garonne (Haute)</option> <option value="32">32 - Gers</option> <option value="33">33 - Gironde</option> <option value="34">34 - H&eacute;rault</option> <option value="35">35 - Ille-et-Vilaine</option> <option value="36">36 - Indre</option> <option value="37">37 - Indre-et-Loire</option> <option value="38">38 - Is&egrave;re</option> <option value="39">39 - Jura</option> <option value="40">40 - Landes</option> <option value="41">41 - Loir-et-Cher</option> <option value="42">42 - Loire</option> <option value="43">43 - Loire (Haute)</option> <option value="44">44 - Loire Atlantique</option> <option value="45">45 - Loiret</option> <option value="46">46 - Lot</option> <option value="47">47 - Lot-et-Garonne</option> <option value="48">48 - Loz&egrave;re</option> <option value="49">49 - Maine-et-Loire</option> <option value="50">50 - Manche</option> <option value="51">51 - Marne</option> <option value="52">52 - Marne (Haute)</option> <option value="53">53 - Mayenne</option> <option value="54">54 - Meurthe-et-Moselle</option> <option value="55">55 - Meuse</option> <option value="56">56 - Morbihan</option> <option value="57">57 - Moselle</option> <option value="58">58 - Ni&egrave;vre</option> <option value="59">59 - Nord</option> <option value="60">60 - Oise</option> <option value="61">61 - Orne</option> <option value="62">62 - Pas-de-Calais</option> <option value="63">63 - Puy de D&ocirc;me</option> <option value="64">64 - Pyr&eacute;n&eacute;es-Atlantiques</option> <option value="65">65 - Pyr&eacute;n&eacute;es (Hautes)</option> <option value="66">66 - Pyr&eacute;n&eacute;es Orientales</option> <option value="67">67 - Rhin (Bas)</option> <option value="68">68 - Rhin (Haut)</option> <option value="69">69 - Rh&ocirc;ne</option> <option value="70">70 - Sa&ocirc;ne (Haute)</option> <option value="71">71 - Sa&ocirc;ne-et-Loire</option> <option value="72">72 - Sarthe</option> <option value="73">73 - Savoie</option> <option value="74">74 - Savoie (Haute)</option> <option value="75">75 - Paris</option> <option value="76">76 - Seine Maritime</option> <option value="77">77 - Seine et Marne</option> <option value="78">78 - Yvelines</option> <option value="79">79 - S&egrave;vres (Deux)</option> <option value="80">80 - Somme</option> <option value="81">81 - Tarn</option> <option value="82">82 - Tarn-et-Garonne</option> <option value="83">83 - Var</option> <option value="84">84 - Vaucluse</option> <option value="85">85 - Vend&eacute;e</option> <option value="86">86 - Vienne</option> <option value="87">87 - Vienne (Haute)</option> <option value="88">88 - Vosges</option> <option value="89">89 - Yonne</option> <option value="90">90 - Territoire de Belfort</option> <option value="91">91 - Essonne</option> <option value="92">92 - Hauts de Seine</option> <option value="93">93 - Seine-St-Denis</option> <option value="94">94 - Val-de-Marne</option> <option value="95">95 - Val d'Oise</option> </select> </div></td> </tr> <tr> <td><div align="right"><strong>Votre ville <span class="Style1">*</span> :</strong></div></td> <td><div align="left"> <input name="ville" type="text" /> </div></td> </tr> <tr> <td><div align="right"><strong>Votre email <span class="Style1">*</span></strong> :</div></td> <td><div align="left"> <input type="text" name="eMail" /> </div></td> </tr> <tr> <td><div align="right"><strong>Votre fonction <span class="Style1">*</span></strong> :<br /> (ex : secretaire, directeur...)</div></td> <td><div align="left"> <input name="fonction" type="text" id="fonction" /> </div></td> </tr> <tr> <td colspan="2"><div align="center"><strong>Message <span class="Style1">*</span></strong></div> <p> <textarea name="message" cols="50" rows="6" id="message"></textarea> </p></td> </tr> <tr> <td colspan="2"><div align="center" class="texte"><br /> * Tous les champs de ce formulaire sont obligatoires, merci de bien les remplir.</span><br /> <br /> <input type="submit" name="Submit" value="Envoyer ma demande" /> </div></td> </tr> </table> </form> </div> </body> </html>
et voici ma page php vers laquelle renvoie le formulaire
// connexion à la base de données
  mysql_connect("monhost","login","mot_de_passe");
  $result = mysql_db_query("ma_base","INSERT INTO newsLetter (nomDirecteur,nomEtablissement,departement,ville,eMail,date,fonction,message) VALUES ('$nomDirecteur','$nomEtablissement','$departement','$ville','$eMail',now(),'$fonction','$message')");
//execution de la requete
	$result=mysql_query($requete);
	$id=mysql_insert_id();		
//affichage de la requete
	echo "<div align='center'>Merci, votre inscription à la newsletter a été prise en compte !<br>Merci de patienter 5 secondes, nous vous dirigons vers la page d'accueil du site.</div>";
//redirection vers la page d'accueil de l'administration
echo"<META HTTP-EQUIV='refresh' CONTENT='5; URL=index.php'>";
si cela peut être utile

Eléphant du PHP | 140 Messages

15 juin 2006, 16:22

Je rappelle mes questions :
Que veux-tu dire par la ?
Es-tu sur que ta page a ete appelee ? Connais tu les parametres envoyes par ton formulaire ?
En gros peux-tu mettre des traces dans ton PHP pour comprendre ce qui se passe ?

Eléphanteau du PHP | 18 Messages

15 juin 2006, 16:32

je ne suis pas sur d'avoir saisi le sens de la question ?

pardon mais je ne suis pas un spécialiste du php

Eléphant du PHP | 112 Messages

15 juin 2006, 16:34

En gros, il demande si le formulaire va bien pointer vers la page php et si il envoit les données ou pas. Faire des testes (avec des echo par exemple) pour voir ou ca foire niveau traitement du formulaire.
Image

Eléphant du PHP | 95 Messages

15 juin 2006, 16:35

mets des echos, des var_dump()(pour vérifier la valeur d'une variable) etc la où sa te parait utile, pour controler le déroulement de ton script, isoler l'erreur et ainsi nous permettre de mieux t'aider...

Eléphanteau du PHP | 18 Messages

15 juin 2006, 16:37

oui, le formulaire point bien vers la page en question, par contre les données ne sont pas envoyées vers cette page,

je fais ca de suite pour les echo

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

15 juin 2006, 18:57

mets des echos, des var_dump()(pour vérifier la valeur d'une variable) etc la où sa te parait utile, pour controler le déroulement de ton script, isoler l'erreur et ainsi nous permettre de mieux t'aider...
Très bonne suggestion :)

echo affiche le contenu textuel et var dump affiche le type et le contenu de ta variable (pratique pour voir les tableaux, les booléens, par exemple).
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphanteau du PHP | 18 Messages

19 juin 2006, 14:52

alors, j'ai mis un echo sur ma requete sql voici ce qui m'est transmis :
Resource id #11INSERT INTO newsLetter (nomDirecteur,nomEtablissement,departement,ville,eMail,date,fonction,message) VALUES ('','','','','',now(),'','')1 
donc visiblement, les valeurs qui sont saisies dans mon formulaire ne sont pas prises en compte, le problème vient de là. c'est très étonnant, sur une page html ces valeurs sont transmises, mais dans un email, rien n'est retenu :?: