[php-html] envoi formulaire vers email

metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

alors voila, on m'a deja beaucoup aidé, voire ici : http://www.commentcamarche.net/forum/affich 6673273 php html envoi formulaire vers bdd wamp

mais maintenant, je voudrais pouvoir envoyer le meme contenu de mes formulaires ver une adresse email, bien sur il y a la fonction mailto, mais elle nécessit"e de passer par MS outlock ce que je ne veux pas, ça doit être instentané .... direct, pas d'intermédiaires si ce n'est des pages php ^^

donc si un de vous a une idée, ce serais top :P
Configuration: Windows Vista
Firefox 3.0

10 réponses

Résumé de la discussion

Le problème discuté consiste à envoyer le contenu d'un formulaire HTML vers une adresse email en utilisant PHP, sans passer par mailto ni Outlook et en restant instantané côté serveur. Une solution proposée exploite la fonction mail() de PHP en construisant le message à partir des données POST et en définissant les en-têtes, notamment To et From, pour une transmission. Les échanges portent aussi sur le code et les tests locaux, avec des questions sur l'expéditeur du mail et la gestion de liens et de chemins lors du déploiement en réseau local. En cas de test sur un serveur local, une nuance utile est de configurer un serveur SMTP ou un relais Mail pour que les messages sortants soient acceptés.

Bobot (l'IA à votre service)
  1. metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
     
    personne n'a d'idée ?
    0
    1. Brachior Messages postés 616 Statut Membre 46
       
      lol re ^^ t'as pas dormi ? xD
      0
    2. metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   > Brachior Messages postés 616 Statut Membre
       
      si j'ai dormi, je me suis coucher entre 6h30 et 7h, et je me suis reveillé de force (ma mere a hurler pour une question de bac que je lui avait pas rendu hier soir loool) vers 11h ... ce fut une longue nuit de sommeil quoi lol
      0
    3. Brachior Messages postés 616 Statut Membre 46 > Brachior Messages postés 616 Statut Membre
       
      pour t'eviter de chercher ^^
      ( parce que j'suis bonne humeur ^^ lol )
      http://www.salemioche.net/script-php-1.php
      0
    4. Brachior Messages postés 616 Statut Membre 46 > metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
       
      ptdr xD ^^
      0
  2. metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
     
    je sors de table, je commence le script donné dans le lien !
    0
    1. Brachior Messages postés 616 Statut Membre 46
       
      bonne chance ;)
      0
      1. metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   > Brachior Messages postés 616 Statut Membre
         
        merci ;)
        0
  3. metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
     
    question con, mais vu que tu as suivi la première partie de mon soucis lol, est il possible que dans ma page validationdemande.php j'inseère cette requete ?

    pour commencer je vais faire une page séparée, mais j'aimerais bien que tout soit dans la meme, sinon ça va etre la misère pour lui dire d'envoyer en meme temps sur l'email ET la bdd ...

    sachant que sur validation demande j'ai deja 8 boutons lol, et que pour 3 d'entre eux cela nécéssite de rajouter une opération (email) a celle deja présente (bdd) sans rajouter d'autres boutons ..

    je sais pas si je m'explique clairement ?
    0
    1. Brachior Messages postés 616 Statut Membre 46
       
      euh la non c'pas tres clr xD ^^

      euh en fait tu envoies quoi par mail ?
      0
    2. metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   > Brachior Messages postés 616 Statut Membre
       
      <?php
      $TO = "mon adresse email";
      
      $h  = "From: " . $TO;
      
      $message = "Bonjour, un nouveau bénévole désire rentrer en contact avec l'association afin d'apporter son aide.<br />
      Il s'agit de $nom $prenom, joignable au $tel ou $email ainsi qu'à l'adresse suivante :<br />
      $nom $prenom<br />
      $adresse<br />
      Ces jours de disponibilité pour aider les élèves sont les suivants : $dispo1, $dispo2, $dispo3, $dispo4, $dispo5, $dispo6<br />
      Ce bénévole a été ajouter à la base de donnée.";
      
      while (list($key, $val) = each($HTTP_POST_VARS)) {
        $message .= "$key : $val\n";
      }
      
      mail($TO, $subject, $message, $h);
      
      header("Location: Location: http://localhost/progetgsi/page-acceuil.html");
      
      ?>
      0
    3. Brachior Messages postés 616 Statut Membre 46 > metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
       
      oui j'pense que si tu gerbe ca a la suite ca devrait l'faire Oo
      t'as essayé ?

      c'que j'me demande c'est ... qui sera l'expediteur du mail ? Oo
      0
    4. metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   > Brachior Messages postés 616 Statut Membre
       
      l'expediteur je sais pas du tout lol, alors ça marche sans marcher :
      le + :
      -ça envoi toujours a la bdd mais sans afficher le petit message ... pas de soucis je vais faire une page de remerciement après donc le petit message ne servira plus a rien !

      les - :
      -obligé de supprimer les boutons specifiques aux autres formulaires donc les boutons 7 et 8 (j'ai pas fait le 8 donc que le 7 lol) pour eviter le message d'erreur
      -pas de message d'erreur dans ce cas .. mais pas de mail envoyé ...

      je suis quasi sur que c'est parce que le "site" est en reseau local et l'adresse sur internet j'ai bon ??

      donc est il possible de créer une adresse "email" par wamp serveur ?
      0
    5. Brachior Messages postés 616 Statut Membre 46 > metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
       
      euh non j'pense pas que ca joue oO
      j'suis pas calé en mail xD
      fait voir le code ? :)
      0
  4. metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
     
    je comprend pas l'interet du while, meme si il en a très certainement un !

    sinon ça me donne ça :
    Warning: Variable passed to each() is not an array or object in C:\gsiproget\validationdemande.php on line 66
    
    Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\gsiproget\validationdemande.php on line 69


    qui correspondent à :

    		while (list($key, $val) = each($HTTP_POST_VARS)) {
    			$message .= "$key : $val\n";}
    			
    		mail($TO, $subject, $message, $h);


    je vois pas pourquoi :( (en meme temps je pige pas le while donc bon (la je me perd de plus en plus lol
    0
    1. Brachior Messages postés 616 Statut Membre 46
       
      bah suppr le while xD lol ^^
      l'informatique c'est fait pr tester xD
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
     
    en supprimant le while, (j'lai fait après avoir poster pour voir)

    Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\gsiproget\validationdemande.php on line 67


    qui du coup ce rapporte a

    		mail($TO, $subject, $message, $h);


    pour n'importe quel bouton

    et

    Parse error: syntax error, unexpected T_VARIABLE in C:\gsiproget\validationdemande.php on line 60


    qui correspond a la variable message pour le bouton envoyer ...

    je crois que je vais laisser tomber, ça m'enerve vraiment la ... lol

    je trouve rien qui corresponde ...
    0
  7. metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
     
    si personne n'a ne serais ce qu'un idée, je lâche le bout, ou alors j'y retournerais plus tard .. la ça me soule grave !

    a moins que je n'ai une super idée en chemin ... j'en ai mare des codes erreurs la ^^

    je fini mon codage complet "de base" deja, après je tente une redirection de l'ordre de :

    <meta http-equiv="refresh" content="10;url=http://localhost/progetgsi/page-acceuil.html" />


    ou de :

    function redirection(page)
    {window.location=page;}
    setTimeout('redirection("http://localhost/progetgsi/page-acceuil.html")',10000);

    selon laquelle veut bien marcher en php ...
    et si tout ça est ok, la je me pencherais sur la fonction email, car je perd plus du temps qu'autre chose !
    0
    1. Brachior Messages postés 616 Statut Membre 46
       
      re ^^ j'etais parti manger ^^ j'regarde le code ^^
      0
    2. metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   > Brachior Messages postés 616 Statut Membre
       
      ah, tu m'avais pas abandonné ?

      lol, pas de soucis, si ça te dérange pas trop ;) (j'ai a peine l'impression de te monopoliser depuis hier soir :rolling-eyes:
      0
    3. Brachior Messages postés 616 Statut Membre 46 > metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
       
      bon .. apres 8tests ( nb de msg envoyés a moi meme sur mon adresse mail ^^
      voila le code qui fct ;)
      ps : tu peux retirer la partie que j'ai mis en com ;)
      if(@ $_POST['bouton6']=="Envoyer"){
        $nom=$_POST['nombenevole'];
        $prenom=$_POST['prenombenevole'];
        $adresse=$_POST['adressebenevole'];
        $tel=$_POST['telephonebenevole'];
        $email=$_POST['e-mailbenevole'];
        $dispo1=$_POST['disponibilite1'];
        $dispo2=$_POST['disponibilite2'];
        $dispo3=$_POST['disponibilite3'];
        $dispo4=$_POST['disponibilite4'];
        $dispo5=$_POST['disponibilite5'];
        $dispo6=$_POST['disponibilite6'];
          //partie inutile a cause du header a la fin ^^
        //echo "<p>Nom : $nom</p>";
        //echo "<p>Prénom : $prenom</p>";
        //echo "<p>Adresse : $adresse</p>";
        //echo "<p>Téléphone : $tel</p>";
        //echo "<p>E-mail : $email</p>";
        //echo "<p>Vous avez été enregistré en tant que bénévole </p>";
        
        $db=mysql_connect ("localhost", "root", "") or die("Erreur de connexion à Mysql ".mysql_error);
        mysql_select_db("lerocher", $db) or die("Erreur de connexion à la base lerocher");
        $sql="INSERT INTO table_benevole VALUES('$nom', '$prenom', '$adresse', '$tel', '$email', '$dispo1', '$dispo2', '$dispo3', '$dispo4', '$dispo5', '$dispo6', '')";
        mysql_query($sql);
        
        $TO = "metra83@hotmail.fr";
        $h  = "From: ".$TO;
      
        $msg = "Bonjour,\n
          un nouveau bénévole désire rentrer en contact\n
      	avec l'association afin d'apporter son aide.\n
          Il s'agit de $nom $prenom,\n
      	joignable au $tel ou $email ainsi qu'à l'adresse suivante :\n
          $nom $prenom\n
          $adresse\n
          Ses jours de disponibilité pour aider les élèves sont les suivants :\n
      	$dispo1, $dispo2, $dispo3, $dispo4, $dispo5, $dispo6\n
          Ce bénévole a été ajouter à la base de donnée.";
      
        $subject="Un nouveau bénévole";
      
        mail($TO, $subject, $msg, $h);
      
        header("Location: page-acceuil.html");}
      0
    4. Brachior Messages postés 616 Statut Membre 46 > Brachior Messages postés 616 Statut Membre
       
      et pr le while .. s'il y avait un prob c''est prck en faite il disais :
      while (list($key, $val) = each($HTTP_POST_VARS)) {
          $message .= "$key : $val\n";}
      tant qu'il existe des variables post
      alor on enregistre la clé ds $key et la valeur ds $val
      puis on concatene ds $message avec l'ancienne valeur de $message

      mais comme t'as changé les post c'etait plu utile d'une part .. puis de 2 $message etait deja defini ^^
      0
    5. metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   > Brachior Messages postés 616 Statut Membre
       
      ba j'ai carrement pas de chance .. car moi ça marche pas :(

      ça me met :

      Parse error: syntax error, unexpected $end in C:\gsiproget\validationdemande.php on line 39


      soit :

      ?>


      suis je maudit ou très bête ?
      0
  8. metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
     
    bon j'arrive a rien, ça m'enerve lol, j'ai filezilla mais jarrive pas a aller plus loin .. je prefere le html lol
    0
    1. Brachior Messages postés 616 Statut Membre 46
       
      Maîtriser FileZilla en 5 minutes
      https://www.globenet.org/archives/web/2005/libre.globenet.org/documents/FileZilla.pdf

      ca semble prometteur ^^
      0
      1. metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   > Brachior Messages postés 616 Statut Membre
         
        ok, je vois ça, et après si c'est ok, je m'occupe du serveur mail vu que je dois pouvoir tourner en reseau local ;)

        en, tout cas merci, entre hier soir et aujourd'hui tu m'arrange bien :P
        0
      2. Brachior Messages postés 616 Statut Membre 46 > metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
         
        lol de rien ^^
        0
  9. metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
     
    http://metra83.free.fr/

    par contre tout ne marche pas .. rapport a mes liens je pense .. ??
    0
  10. metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
     
    semblerais que wamp permette de prendre en charge un mail local ...
    0
  11. metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
     
    bon ... ça ne marche toujours pas ... on oubli la possibilité c'est mieu ... j'ai suffisement perdiu de temps et fais perdre de temps comme ça ...
    0
    1. Brachior Messages postés 616 Statut Membre 46
       
      lol xD ^^
      bah de tte facon envoyer un mail en local c'est inutile xD
      0
      1. metra83 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   > Brachior Messages postés 616 Statut Membre
         
        exact, du coup j'ai (encore) fait un nouveau post ...
        0