un formulaire d'inscription via un email

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : un formulaire d'inscription via un email

par nicodiz » 19 juin 2006, 17:00

alors, finalement je viens de résoudre mon problème :D

j'ai analysé toute ma requete en mettant des echo partout, je me suis apercu que les valeurs des variables n'étais pas transmises. aussi j'ai reregardé mon formulaire et j'ai vu que je n'avais pas mis de balise <enctype> ](*,)

donc après avoir rajouté sur mon formulaire la balise avec sa valeur

Code : Tout sélectionner

enctype="application/x-www-form-urlencoded"
j'ai constaté que les valeurs étaient transmises.

tout cela m'aura permis de voir que ma facon de coder n'est pas au point et que je dois encore beaucoup travailler tout ca.

merci en tout cas de m'avoir mis sur la voie ^^

par nicodiz » 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 :?:

par mere-teresa » 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).

par nicodiz » 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

par Ben-J » 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...

par Mouet » 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.

par nicodiz » 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

par Vorkosigan » 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 ?

par nicodiz » 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

par Vorkosigan » 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 ?

par nicodiz » 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

par Vorkosigan » 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. :?:

par nicodiz » 15 juin 2006, 15:05

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

par Invité » 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 :?:

par Mouet » 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