Auteur Sujet: [résolu] un formulaire d'inscription via un email  (Lu 2289 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne nicodiz

  • Débutant
  • *
  • Messages: 56
    • http://www.nicodiz.com
[résolu] un formulaire d'inscription via un email
« le: 15 juin 2006 à 14:31:58 »
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
« Modifié: 30 juin 2006 à 17:25:13 par nicodiz »

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : un formulaire d'inscription via un email
« Réponse #1 le: 15 juin 2006 à 16:06:10 »
Bonjour,

En mon sens c'est éxactement le même procédé que si ton formulaire était visionné dans un naviggateur... ca reste un formulaire HTML ;).
MAIS un client E-mail n'est en AUCUN cas un navigateur! Donc la suite [après avoir valider le formulaire] sera forcément appelé depuis le navigateur par défaut du client.

Si tu 'as d'autres éléments n'hésites pas.

Bon courage.
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/

Hors ligne nicodiz

  • Débutant
  • *
  • Messages: 56
    • http://www.nicodiz.com
Re : un formulaire d'inscription via un email
« Réponse #2 le: 15 juin 2006 à 16:30:26 »
effectivement, j'ai du mal à faire passer mes paramètres de mon client mail vers mon navigateur.

au besoin, voici la page avec le formulaire
<!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%" align="right"><strong>Nom du directeur *</strong> :</td>
      <td width="45%" align="left"><p><input name="nomDirecteur" type="text" /></p></td>
    </tr>
    <tr>
      <td height="29" align="right"><strong>Nom de l'&eacute;tablissement *</strong> :</td>
      <td align="left"><input name="nomEtablissement" type="text" /></td>
    </tr>
    <tr>
      <td align="right"><strong>D&eacute;partement *</strong> :</td>
      <td 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>
      </td>
    </tr>
    <tr>
      <td align="right"><strong>Votre ville * :</strong></td>
      <td align="left"><input name="ville" type="text" /></td>
    </tr>
    <tr>
      <td align="right"><strong>Votre email *</strong> :</td>
      <td align="left"><input type="text" name="eMail" /></td>
    </tr>
    <tr>
      <td align="right"><strong>Votre fonction *</strong> :<br />(ex : secretaire, directeur...)</td>
      <td align="left"><input name="fonction" type="text" id="fonction" /></td>
    </tr>
    <tr>
      <td colspan="2" align="center"><strong>Message *</strong>
          <p>
            <textarea name="message" cols="50" rows="6" id="message"></textarea>
        </p>
  </td>
    </tr>
    <tr>
      <td colspan="2" align="center"><br />* Tous les champs de ce formulaire sont obligatoires, merci de bien les remplir.<br /><br />
       <input type="submit" name="Submit" value="Envoyer ma demande" />
      </td>
    </tr>
  </table>
</form>
</div>
</body>
</html>

ainsi que la page de traitement en php

<?php
// connexion à la base de données
  
mysql_connect("mon_host","mon_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 
echo "<META HTTP-EQUIV='refresh' CONTENT='5; URL=index.php'>";
?>


quand je suis sous mon cleint mail, aucun de mes champs n'est retenu par la requete alors que tout fonctionne sous mon navigateur favoris  :huh:

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : un formulaire d'inscription via un email
« Réponse #3 le: 15 juin 2006 à 23:18:12 »
Bonsoir,

A priori tu ne récupère jamais les champs de ton formulaire ici O_o.

Il te faudrait un code du style:
$nomDirecteur = $_POST['nomDirecteur '];
$nomEtablissement = $_POST['nomEtablissement '];
$departement = $_POST['departement '];
$ville = $_POST['ville '];
$eMail = $_POST['eMail '];
$fonction = $_POST['fonction '];
$message = $_POST['message '];

Tu vois de quoi je veux parler?
La suite: demain pour ma pars ^^!

Bonne nuit!

EDIT: j'suis relativement fatigué là donc j'fais vite :s. C'est l'intégralité de ton code qui est bancale :s. Ton PHP n'est qu'une brève d'un script complet qui serait nécessaire :s. Ton réel problème est là :/.
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/

Hors ligne nicodiz

  • Débutant
  • *
  • Messages: 56
    • http://www.nicodiz.com
Re : un formulaire d'inscription via un email
« Réponse #4 le: 16 juin 2006 à 09:59:41 »
ah ok, merci pour l'info Just.

c'est vrai qu'on m'a appris à faire comme ca et comme cette méthode fonctionne, je ne l'ai jamais remise en question...
sinon ben je suis tout ouie, je voudrais vraiment savoir faire cette action si en plus mon code est optimisé alors ya pas de soucis.

nico

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : un formulaire d'inscription via un email
« Réponse #5 le: 16 juin 2006 à 10:23:55 »
Bonjour,

Je suis ravis de voir ton enthousiasme à en apprendre plus ;). Ca fait plaisir à voir :).

Malheureusement, pour ma pars, je manque de temps :(.

Les éléments auquels tu dois t'attacher:
- mieux comprendre le système de récupération et de traitement de données en provenance d'un formulaire.
- il est important de générer un contenu HTML CORRECT derrière la validation du formulaire [actuellement: une ligne confirmant l'inscription (sans vérification de ce fait d'ailleurs :s) qui se ballade et un META chargé de faire un refresh qui cours sans encadrement d'un <html><body> and co.]

Tu trouveras d'excellents tutoriels sur le "site du zéro" par exemple [une recherche google sur cet intitulé devrait t'orienter].
En espérant que cela puisse t'aider.

Bon courage et bonne continuation!
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/

Hors ligne Alx

  • Connaisseur
  • ***
  • Messages: 261
    • http://www.alliance-pbem.net
Re : un formulaire d'inscription via un email
« Réponse #6 le: 21 juin 2006 à 17:35:09 »
Ajoute un mysql_close() aussi après le mysq_insert_id()

Question : est-ce que ça fonctionne là?
Webmaster de Alliance-pbem, Jeu de rôle par e-mail dans l'univers Star Wars ™

www.alliance-pbem.net

Hors ligne nicodiz

  • Débutant
  • *
  • Messages: 56
    • http://www.nicodiz.com
[resolu] Re : un formulaire d'inscription via un email
« Réponse #7 le: 30 juin 2006 à 17:24:48 »
alors, j'ai résolu ce problème

en fait, j'avais  oublier de spécifier un attribut <enctype> dans la balise form, ce qui visiblement troublait le cleint mail et empechait la transmission de variable, mais désormais tout fonctionne.

merci a touspour vos contributions ^^