Page 1 sur 2
un formulaire d'inscription via un email
Posté : 15 juin 2006, 14:39
par nicodiz
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
Posté : 15 juin 2006, 14:57
par Mouet
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
Posté : 15 juin 2006, 15:03
par Invité
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

Posté : 15 juin 2006, 15:05
par nicodiz
j'ai oublié de me connecter precedement

Posté : 15 juin 2006, 15:07
par Vorkosigan
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.

Posté : 15 juin 2006, 15:15
par nicodiz
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
Posté : 15 juin 2006, 15:19
par Vorkosigan
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 ?
Posté : 15 juin 2006, 15:24
par nicodiz
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 ê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'é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é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èche</option>
<option value="8">08 - Ardennes</option>
<option value="9">09 - Ariè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ô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èze</option>
<option value="20">20 - Corse</option>
<option value="21">21 - Côte d'or</option>
<option value="22">22 - Cô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ôme</option>
<option value="27">27 - Eure</option>
<option value="28">28 - Eure et Loir</option>
<option value="29">29 - Finistè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é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è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è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è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ôme</option>
<option value="64">64 - Pyrénées-Atlantiques</option>
<option value="65">65 - Pyrénées (Hautes)</option>
<option value="66">66 - Pyrénées Orientales</option>
<option value="67">67 - Rhin (Bas)</option>
<option value="68">68 - Rhin (Haut)</option>
<option value="69">69 - Rhône</option>
<option value="70">70 - Saône (Haute)</option>
<option value="71">71 - Saô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è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é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
Posté : 15 juin 2006, 16:22
par Vorkosigan
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 ?
Posté : 15 juin 2006, 16:32
par nicodiz
je ne suis pas sur d'avoir saisi le sens de la question ?
pardon mais je ne suis pas un spécialiste du php
Posté : 15 juin 2006, 16:34
par Mouet
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.
Posté : 15 juin 2006, 16:35
par Ben-J
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...
Posté : 15 juin 2006, 16:37
par nicodiz
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
Posté : 15 juin 2006, 18:57
par mere-teresa
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).
Posté : 19 juin 2006, 14:52
par nicodiz
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
