La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  [Résolu]Récuperer les données d'un formulaire
« Précédent Suivant »
Pages: [1] 2 Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: [Résolu]Récuperer les données d'un formulaire  (Lu 2777 fois)
[Résolu]Récuperer les données d'un formulaire
« sur: le 23-10-2008 a 15:29:30 »
emarie3680
Membre récent
*

Hors-Ligne

Messages: 16



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

Bonjour,
J'ai créé un formulaire avec Dreamweaver 3.0.
Je voudrais récupérer dans ma boîte mail les données que saisiront les utilisateurs de ce formulaire.
Pourriez-vous me conseiller un script qui sait faire ça, tout en sachant que mon formulaire existe déjà en .htm ?
Merci pour votre aide.
Éric

« Dernière Édition: le 01-11-2008 a 22:57:32 par ToToMaStEr » Rapporter au modérateur  

Re:Cherche script recuperer donnees formulaire
« Répondre #1 sur: le 27-10-2008 a 12:48:09 »
ekevin
Membre récent
*

Hors-Ligne

Messages: 32



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

Bonjour,

Malheureusement il faut coder le formulaire, il n'est pas possible d'avoir une solution adaptable à n'importe quel formulaire.

Contactez-moi sur mon mail et je vous coderai votre formulaire.

Rapporter au modérateur  
Re:Cherche script recuperer donnees formulaire
« Répondre #2 sur: le 27-10-2008 a 13:34:50 »
emarie3680
Membre récent
*

Hors-Ligne

Messages: 16



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

Bonjour,
Merci pour votre réponse et votre proposition.
Je voudrais essayer de m'en sortir par mes propres moyens avec ce formulaire. Depuis que j'ai posté mon message sur le forum, j'ai quand même progressé et ai commencé à créer un fichier de traitement .php. J'avance tout doucement. Pourrai-je faire appel à vous si j'ai des soucis ? Je redoute les erreurs du genre "parse error" et autre ...
Merci encore !
Éric

Rapporter au modérateur  
Re:Cherche script recuperer donnees formulaire
« Répondre #3 sur: le 27-10-2008 a 14:00:12 »
ekevin
Membre récent
*

Hors-Ligne

Messages: 32



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

N'hésitez pas à me contacter, c'est sans problème

Rapporter au modérateur  
Re:Cherche script recuperer donnees formulaire
« Répondre #4 sur: le 27-10-2008 a 14:33:31 »
emarie3680
Membre récent
*

Hors-Ligne

Messages: 16



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

Et ben voilà !!! J'ai continué mon formulaire et suis confronté à de nouvelles interrogations ... À chaque évolution il y a de nouveaux écueils...
Voilà à quoi ressemble le fichier de traitement php :

<?php
if($_POST)
{
$fille = $_POST['fille'];
$garcon = $_POST['garcon'];
$Age = $_POST['Age'];
$collegien = $_POST['collegien'];
$lyceen = $_POST['lyceen'];
$etudiant = $_POST['etudiant'];
$formation = $_POST['formation'];
$demploi = $_POST['demploi'];
$salarie = $_POST['salarie'];
$autressitu = $_POST['autressitu'];
$SituationAutre = $_POST['SituationAutre'];
$Ville = $_POST['Ville'];
$centresinteret = $_POST['centresinteret'];

if(isset($_POST['fille']))
{
$fille = htmlentities($_POST['fille']);
}

if(isset($_POST['garcon']))
{
$garcon = htmlentities($_POST['garcon']);
}

if(empty($erreurs))
{
$to = "test@yahoo.fr";
$contenu = ".$fille;
$contenu .= ".$garcon;
$resultat = mail($to,$subject,$contenu,$reply);
}

if($resultat)
{
echo "email envoyé avec succès";
}
else
{
echo "échec envoi du mail vérifiez les données entrées";
}

}
?>

Je voudrais savoir s'il y a moyen d'éviter de "déclarer" chaque champ de formulaire ($fille = $_POST......) comme j'ai fait au début. N'y a-t-il pas un traitement "par lot" ?
De la même façon, y-a-t-il un moyen d'envoyer d'un coup par mail toutes les infos saisies dans mon formulaire (que ce soit dans un champ texte ou par bouton radio) et d'avoir à utiliser 50 fois if ... isset ... htmlentities ou plus bas $contenu (d'ailleurs, je suis coincé à ce niveau je n'arrive pas à mettre "contenu = " plus de deux fois.
J'ai vu la fonction foreach, mais je ne sais pas si elle est applicable là ... et ce que cela pourrait donner ...
Merci d'avance,
Éric

Rapporter au modérateur  
Re:Cherche script recuperer donnees formulaire
« Répondre #5 sur: le 27-10-2008 a 15:24:32 »
ekevin
Membre récent
*

Hors-Ligne

Messages: 32



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

Comme vous souhaitez apprendre voici une solution, pourquoi ne pas stocker toutes les données envoyées dans un tableau, ainsi il suffirait de faire une boucle pour tester en quelques lignes toutes vos variables

Rapporter au modérateur  
Re:Cherche script recuperer donnees formulaire
« Répondre #6 sur: le 27-10-2008 a 15:29:34 »
emarie3680
Membre récent
*

Hors-Ligne

Messages: 16



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

OK, mais je souhaite envoyer les données saisies à une adresse email ...

Rapporter au modérateur  
Re:Cherche script recuperer donnees formulaire
« Répondre #7 sur: le 27-10-2008 a 15:34:19 »
ekevin
Membre récent
*

Hors-Ligne

Messages: 32



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

il faut utiliser la fonction mail()

Un tutoriel ici : http://a-pellegrini.developpez.com/tutoriels/php/mail/
Et un manuel indispensable ici : php.net

Rapporter au modérateur  
Re:Cherche script recuperer donnees formulaire
« Répondre #8 sur: le 27-10-2008 a 16:32:40 »
emarie3680
Membre récent
*

Hors-Ligne

Messages: 16



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

OK, je vais aller voir ça. Merci !
Éric

Rapporter au modérateur  
Re:Cherche script recuperer donnees formulaire
« Répondre #9 sur: le 27-10-2008 a 23:50:45 »
D.F
Membre récent
*

Hors-Ligne

Messages: 18





Voir le Profil
Répondre avec citation

Bonjour,

Citation de: emarie3680 le le 27-10-2008 a 14:33:31
Et ben voilà !!! J'ai continué mon formulaire et suis confronté à de nouvelles interrogations ... À chaque évolution il y a de nouveaux écueils...
Voilà à quoi ressemble le fichier de traitement php :

Le code de votre fichier php est mal optimisé, certaines variables ne sont même pas déclarées ($subject, $reply).
Si besoin d'aide, je peux vous aider

Bonne journée

Amicalement

Rapporter au modérateur  

David


MARKETING INTERNET -  Tout ce que jamais personne ne vous a dit à propos de la vente par internet


ADWORDS  -  Comment dominer votre marché sur Adwords
Re:Cherche script recuperer donnees formulaire
« Répondre #10 sur: le 28-10-2008 a 09:26:54 »
emarie3680
Membre récent
*

Hors-Ligne

Messages: 16



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

Bon, je jette l'éponge, je n'y arrive pas. Si vous voulez m'aider, vous trouverez mon fichier htm ci-dessous. Le but du jeu est de récupérer ce que les gens saisissent en ligne et que ça me soit renvoyé à mon adresse mail (emarie3680@yahoo.fr).

<html>
<head>
<title>Questionnaire</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--
function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') {
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}
//-->
</script>
</head>

<body bgcolor="#FFCC66" text="#000000">
<p>&nbsp;</p>
<table width="75%" border="1">
  <tr>
    <td bordercolor="#3333CC" height="47">
      <div align="center"><font size="+2"><b>FAIS-TOI CONNAITRE !</b></font></div>
    </td>
  </tr>
</table>
<form action="Traitemenquest.php" method="post">
  <p>Tu es : </p>
  <table width="23%" border="0">
    <tr>
      <td width="12%">
        <input type="radio" name="fille" value="fille">
      </td>
      <td width="36%">Fille</td>
      <td width="15%">
        <input type="radio" name="garcon" value="garcon">
      </td>
      <td width="37%">Gar&ccedil;on</td>
    </tr>
  </table>
  <p>Tu as :
    <input type="text" name="Age" size="8">
    ans</p>
  <p>Tu es :</p>
  <table width="85%" border="0">
    <tr>
      <td width="3%">
        <input type="radio" name="collegien" value="collegien">
      </td>
      <td width="11%">Coll&eacute;gien</td>
      <td width="4%">&nbsp;</td>
      <td width="5%">
        <input type="radio" name="lyceen" value="lyceen">
      </td>
      <td width="8%">Lyc&eacute;en</td>
      <td width="5%">&nbsp;</td>
      <td width="4%">
        <input type="radio" name="etudiant" value="etudiant">
      </td>
      <td width="8%">&Eacute;tudiant</td>
      <td width="4%">&nbsp;</td>
      <td width="4%">
        <input type="radio" name="formation" value="formation">
      </td>
      <td width="44%">En formation</td>
    </tr>
    <tr>
      <td width="3%">
        <input type="radio" name="demploi" value="demploi">
      </td>
      <td width="11%">Demandeur d'emploi</td>
      <td width="4%">&nbsp;</td>
      <td width="5%">
        <input type="radio" name="salarie" value="salarie">
      </td>
      <td width="8%">Salari&eacute;</td>
      <td width="5%">&nbsp;</td>
      <td colspan="5"> Autres Pr&eacute;ciser :
        <input type="text" name="SituationAutre">
      </td>
    </tr>
  </table>
  <p>Quelle est ta ville ? :
    <input type="text" name="Ville">
  </p>
  <p>Comment te d&eacute;places-tu ? :
    <input type="text" name="deplacement">
  </p>
  <p>Quels sont tes centres d'int&eacute;r&ecirc;t ?
    <input type="text" name="centresinteret">
  </p>
  <p>Merci de nous laisser tes coordonn&eacute;es :</p>
  <table width="38%" border="0">
    <tr>
      <td>Nom :</td>
      <td>
        <input type="text" name="Nom">
      </td>
    </tr>
    <tr>
      <td>Pr&eacute;nom :</td>
      <td>
        <input type="text" name="Prenom">
      </td>
    </tr>
    <tr>
      <td>T&eacute;l.</td>
      <td>
        <input type="text" name="Tel">
      </td>
    </tr>
    <tr>
      <td>Mail :</td>
      <td>
        <input type="text" name="Mail">
      </td>
    </tr>
  </table>
  <p>-------------------------------------------------------------------------------------------------------------------------------------------------------</p>
  <p>
    <input type="submit" name="Submit" value="Envoyer" onClick="MM_validateForm('textfield','','R','textfield2','','R','textfield3','','R');return document.MM_returnValue">
    <input type="reset" name="Submit2" value="R&eacute;tablir">
  </p>
</form>
<p>&nbsp; </p>
</body>
</html>

Rapporter au modérateur  
Re:Cherche script recuperer donnees formulaire
« Répondre #11 sur: le 28-10-2008 a 10:45:18 »
D.F
Membre récent
*

Hors-Ligne

Messages: 18





Voir le Profil
Répondre avec citation

Bonjour,

Avant toute chose, il faut que vous définissiez les champs de votre formulaire que vous souhaitez voir être obligatoirement remplis par l'utilisateur.
Après ça on pourra se pencher sur le traitement php 

Amicalement

Rapporter au modérateur  

David


MARKETING INTERNET -  Tout ce que jamais personne ne vous a dit à propos de la vente par internet


ADWORDS  -  Comment dominer votre marché sur Adwords
Re:Cherche script recuperer donnees formulaire
« Répondre #12 sur: le 28-10-2008 a 10:57:49 »
emarie3680
Membre récent
*

Hors-Ligne

Messages: 16



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

Merci pour votre réponse, David,
En fait, pour l'instant, je ne veux aucun champ obligatoire, je pense que cela facilitera les choses...
Merci pour votre aide !
Éric

Rapporter au modérateur  
Re:Cherche script recuperer donnees formulaire
« Répondre #13 sur: le 28-10-2008 a 19:24:07 »
D.F
Membre récent
*

Hors-Ligne

Messages: 18





Voir le Profil
Répondre avec citation

Re,

Désolé pour le retard pas dispo avant, voici le traitement php simplet comme vous le vouliez.
Pour commencer j'ai corrigé votre fichier html , copier coller le et nommer le questionnaire.html,
tout simplement parce que j'ai mis une redirection dans le fichier php

Code:

<head>
<title>Questionnaire</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--
function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') {
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}
//-->
</script>
</head>

<body bgcolor="#FFCC66" text="#000000">
<p>&nbsp;</p>
<table width="75%" border="1">
  <tr>
    <td bordercolor="#3333CC" height="47">
      <div align="center"><font size="+2"><b>FAIS-TOI CONNAITRE !</b></font></div>
    </td>
  </tr>
</table>
<form action="traitement.php" method="post">
  <p>Tu es : </p>
  <table width="23%" border="0">
    <tr>
      <td width="12%">
        <input type="radio" name="sexe" value="fille" />
      </td>
      <td width="36%">Fille</td>
      <td width="15%">
        <input type="radio" name="sexe" value="garcon" />
      </td>
      <td width="37%">Garcon</td>
    </tr>
  </table>
  <p>Tu as :
    <input type="text" name="age" size="8" value="">
    ans</p>
  <p>Tu es :</p>
  <table width="85%" border="0">
    <tr>
      <td width="3%">
        <input type="radio" name="situation" value="collegien">
      </td>
      <td width="11%">Coll&eacute;gien</td>
      <td width="4%">&nbsp;</td>
      <td width="5%">
        <input type="radio" name="situation" value="lyceen">
      </td>
      <td width="8%">Lyc&eacute;en</td>
      <td width="5%">&nbsp;</td>
      <td width="4%">
        <input type="radio" name="situation" value="etudiant">
      </td>
      <td width="8%">&Eacute;tudiant</td>
      <td width="4%">&nbsp;</td>
      <td width="4%">
        <input type="radio" name="situation" value="formation">
      </td>
      <td width="44%">En formation</td>
    </tr>
    <tr>
      <td width="3%">
        <input type="radio" name="situation" value="demploi">
      </td>
      <td width="11%">Demandeur d'emploi</td>
      <td width="4%">&nbsp;</td>
      <td width="5%">
        <input type="radio" name="situation" value="salarie">
      </td>
      <td width="8%">Salari&eacute;</td>
      <td width="5%">&nbsp;</td>
      <td colspan="5"> Autres Pr&eacute;ciser :
        <input type="text" name="situationautre" value="">
      </td>
    </tr>
  </table>
  <p>Quelle est ta ville ? :
    <input type="text" name="ville" value="">
  </p>
  <p>Comment te d&eacute;places-tu ? :
    <input type="text" name="deplacement" value="">
  </p>
  <p>Quels sont tes centres d'int&eacute;r&ecirc;t ?
    <input type="text" name="centresinteret" value="">
  </p>
  <p>Merci de nous laisser tes coordonn&eacute;es :</p>
  <table width="38%" border="0">
    <tr>
      <td>Nom :</td>
      <td>
        <input type="text" name="nom" value="">
      </td>
    </tr>
    <tr>
      <td>Pr&eacute;nom :</td>
      <td>
        <input type="text" name="prenom" value="">
      </td>
    </tr>
    <tr>
      <td>T&eacute;l.</td>
      <td>
        <input type="text" name="tel" value="">
      </td>
    </tr>
    <tr>
      <td>Mail :</td>
      <td>
        <input type="text" name="mail" value="">
      </td>
    </tr>
  </table>
  <p>-------------------------------------------------------------------------------------------------------------------------------------------------------</p>
  <p>
    <input type="submit" name="Submit" value="envoyer" onClick="MM_validateForm('textfield','','R','textfield2','','R','textfield3','','R');return document.MM_returnValue">
    <input type="reset" name="Submit2" value="R&eacute;tablir">
  </p>
</form>
<p>&nbsp; </p>
</body>
</html>

   

Ensuite pour le fichier php vous devez mettre votre adresse email dans la variable $mon_email="mon_email" puis idem copier/coller et nommer le traitement.php;
Voila si probleme n'hésitez pas, bon courage et bonne soirée.

Code:
<?php


// Récupération des varaiables du questionnaire
$sexe = $_POST['sexe'];
$age = $_POST['age'];
$situation = $_POST['situation'];
$situationautre = $_POST['situationautre'];
$ville = $_POST['ville'];
$deplacement = $_POST['deplacement'];
$centresinteret = $_POST['centresinteret'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$tel = $_POST['tel'];
$mail = $_POST['mail'];


// Definition de l'email pour la reception du questionnaire
$mon_email = "mon_email";
$sujet = "Une personne vient de remplir le formulaire";



$headers = 'FROM: faistoiconnaitre@...'."\r\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'; 
   

// Definition du message comportant les données saisies par l'utilisteur

$message = "Sexe: $sexe<br>Age: $age ans<br>situation: $situation<br> Autres: $situationautre<br><br>"."\n\n";
$message .= "Ville: $ville<br>Deplacement: $deplacement<br>Centre d'intérêt: $centresinteret<br><br>"."\n\n";
$message .= "Nom: $nom<br>Prenom: $prenom<br>Tel: $tel<br>Mail: <a href=mailto:$mail>$mail</a>";

// Envoi du mail
$envoi = mail($mon_email, $sujet, $message, $headers);

if ($envoi)

// Si le mail est bien envoyé on affiche un message de remerciement
{
echo '<center><div style="background:#E6E6FA; width:700px; border:1px solid blue; margin-top:150px; font-family: arial">
<p align="center" style="color:#191970; margin-top: 20px; margin-bottom: 20px; font-size: 120%"><b>Merci d\'avoir pris le temps de remplir le questionnaire </b><br><br>
<font face= "arial" color="black" size="3"> Vos données saisies viennent d\'être envoyées au webmaster.</font></p>
</div></center>';
}

// Si non on avertit et on redirige automatiquement sur le questionnaire

else
{
die ("<center><div align ='center' style='background:white; width:650px; border:3px solid #DC143C; margin-top:150px; font-family: arial'>
<p align='center' style='color:#990000; margin-top: 20px; margin-bottom: 20px;'>Désolé une erreur est survenue lors de l'envoi du questionnaire, dans 5 secondes <br>vous allez être rediriger sur le site, merci de recommencer</p>
</div></center><meta http-equiv='refresh' content='8; url=questionnaire.html'>");
}

?>]


Rapporter au modérateur  

David


MARKETING INTERNET -  Tout ce que jamais personne ne vous a dit à propos de la vente par internet


ADWORDS  -  Comment dominer votre marché sur Adwords
Re:Cherche script recuperer donnees formulaire
« Répondre #14 sur: le 28-10-2008 a 21:12:01 »
emarie3680
Membre récent
*

Hors-Ligne

Messages: 16



Je suis un lama!

Voir le Profil    E-Mail
Répondre avec citation

Bon, ben, merci 1000 fois !
Avant toute chose je vais essayer tout ça et je vous tiens au courant du résultat...
Bonne soirée et merci pour tout le travail ! Je vais tout décortiquer à tête reposée pour voir votre cheminement.
Éric

Rapporter au modérateur  
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] 2 Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg