Rechercher : dans
Par :

[PHP] Bouton = > Envoi de mail avec @mail( )

Dernière réponse le 28 sep 2006 à 10:10:38 elsadelatoundra, le 22 sep 2006 à 17:49:34 
 Signaler ce message aux modérateurs

Bonjour tout le monde,

Dans un formulaire récapiltulant la saisie d'un user, j'ai un bouton symbolisant une imprimante et je voudrais faire en sorte qu'en cliquant dessus on envoie un descriptif des informtations saisies...

J'ai trouvé des bouts de codes, mais jamais avec un bouton ... C'est toujours des formulaires et un bouton de validation ('submit') ... J'aimerais donc savoir si ce que je veux faire est possible...

<?php
echo'<button type="" style="background:lavender; cursor:hand; border:solid 1px lavender;" onclick="@mail(elsadelatoundra@hotmail.fr,test,$message)">';
?>
<img src="../images/email2.gif">
</button>

Voilà ce que j'ai fait ... mais vous vous en doutiez, ça ne marche pas !!

Merci d'avance à ceux qui pourront me filer un petit coup de main !

;-)

ellessa mange des cerises

Meilleures réponses pour « [PHP] Bouton = > Envoi de mail avec @mail( ) » dans :
[Langages] Envoyer un mail avec pièce jointe VoirLes mails, tout comme les pages web, sont livrés avec des en-têtes (headers en anglais). Ces en-têtes servent à donner quelques détails nécessaires comme l'adresse du destinataire, celle de l'envoyeur, la date de l'envoi, le sujet du mail etc. Elles...
[PHP] Fonction mail() VoirLa fonction mail() est bloquée chez certains des hébergeurs gratuits pour des raisons de sécurité (afin d'éviter le spam notamment), l'adresse ip de la machine qui a demandé le script sera alors indiquée dans le header 'X-MM-Mail-From-IP'. renseignez...
Impossible d'envoyer des mails par smtp.mail.yahoo.fr VoirSymptômes Si vous ne parvenez plus à envoyer du courrier avec le serveur SMTP de Yahoo et que Outlook vous renvoie le message suivant : Échec de la connexion au serveur. Compte : 'pop.mail.yahoo.fr' Serveur : 'smtp.mail.yahoo.fr', Protocole :...
PHP - Mail et fonctions réseau VoirPHP étant un langage consacré au Web, il possède bien évidemment des fonctions lui permettant de communiquer avec le "monde extérieur" à l'aide de fonctions standards. Le service le plus utilisé sur Internet étant la messagerie électronique, il est...

1

oberion, le 26 sep 2006 à 11:50:03

Bonjour,

Ah oui, c'est couillu...
Si j'ai bien compris, tu voudrais que ton bouton:
1. Envoie un mail avec les données précedement saisies
2. Imprime une page récapitulatives de ces memes données.

Il faut rediriger ton formulaire vers une nouvelle page, qui traitera les informations en provenance du formulaire, puis enverra le mail par la fonction mail(), et affichera une version imprimable des infos.

Ce sera plus facile et plus propre que de vouloir tout bourrer dans le formulaire. :)

Cdlt.

Répondre à oberion

2

elsadelatoundra, le 26 sep 2006 à 12:06:18

Ben en fait non, c'est pas ça ... pas exactement !!

Un utilisateur saisi des infos dans un formulaire ... ces infos concernent son activité journalière. Quand il clique sur le bouton mail, il décide d'envoyer les informations saisies sur son mail c'est le $message ... mais pour l'instant, ça n'envoie pas de mail ... même si je fais $message="test" !

Voilà, j'espère que j'ai réussi à bien m'exprimer cette fois-ci !!

Merci d'avance

ellessa mange des cerises

Répondre à elsadelatoundra

3

oberion, le 26 sep 2006 à 12:15:11

Re,

Normal, puisque la focntion mail() est executé au chargement de la page, et non pas lorsque tu cliques sur ton bouton.
Il te faut nécessairement rediriger ton formulaire vers une nouvelle page pour traiter les données et envoyé le mail.

Ou sinon, c'est surement possible en Ajax avec du js et beaucoup de patience. :)

Cdlt.

Répondre à oberion

4

elsadelatoundra, le 26 sep 2006 à 13:11:09

Ha oé, pas mal l'idée : AJAX ... mais lol !! D'autant plus que je commence à peine le JS et que je galère en camion ...

Bon, je vais faire comme tu me conseilles avec un autre formulaire, ça a l'air pas mal ça !

Merci beaucoup pour tes réponses !
ellessa mange des cerises

Répondre à elsadelatoundra

5

elsadelatoundra, le 26 sep 2006 à 14:17:03

Reuh !!

Voilà ce que j'ai récupéré et modifié :

<HTML>
<?php
$TO = "elsadelatoundra@hotmail.fr";

$h  = "From: " . $TO;

$message = "";

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

$subject="test";

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

Header("Location: ../RSSI/accueil_RSSI.php");

?>
</HTML>


C'est sensé marcher ...

Là, je comprends qu'il ne veut pas mais je ne sais pas pourquoi !!

Warning: 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:\program files\easyphp1-8\www\rssi\formmailrssi.php on line 15

Là apparemment il faut que je change .ini de php, mais mon appli qui est pour l'instant en local va être en réseau par la suite, je ne sais pas si je pars dans la bonne voie là !!

Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\rssi\formmailrssi.php:2) in c:\program files\easyphp1-8\www\rssi\formmailrssi.php on line 17


Aidez moi !!

Merci ;-) ellessa mange des cerises

Répondre à elsadelatoundra

6

oberion, le 26 sep 2006 à 14:44:06

Ok.
On est sur la bonne voie.

Il faut maintenant trouver un serveur SMTP te permettant d'envoyer des mails. Soit tu en installes un sur ta machine de dev, soit tu utilises un serveur SMTP existant (celui de ton FAI par exemple).
Ensuite, dans le php.ini, il te faudra parametrer l'adresse du serveur smtp. Si tu en installes un sur tamachine, tu laisses tout par défaut, sinon, il faudra te rendre dans la section SMTP.

Cdlt.

Répondre à oberion

7

elsadelatoundra, le 26 sep 2006 à 15:11:09

En fait je travaille en local et je ne connais pas mon FAI parce que je suis en stage et que je ne suis pas sur mon pc !!

Pas grave, je verrai plus tard quand je ne serai plus en local (aïe !!) ...
ellessa mange des cerises

Répondre à elsadelatoundra

8

oberion, le 26 sep 2006 à 15:12:12

Sous quel OS es tu ?
Il existe un serveur SMTP préinstallé sous Windows XP/2000.

Répondre à oberion

9

elsadelatoundra, le 26 sep 2006 à 15:17:58

C'est XP pro ellessa mange des cerises

Répondre à elsadelatoundra

10

elsadelatoundra, le 26 sep 2006 à 15:18:54

Version 5.1
ellessa mange des cerises

Répondre à elsadelatoundra

11

oberion, le 26 sep 2006 à 15:22:11

Dans ce cas, tout va bien. De mémoire, tu vas dans Panneau de Configuration > Ajout/Suppression de nouveau programme > Composant Windows > Tu cherches serveur SMTP dans la liste et tu cliques dessus.
Etant sous Linux actuellement, je ne peux pas verifier mes dires... :)

Cdlt.

Répondre à oberion

12

elsadelatoundra, le 26 sep 2006 à 15:55:29

Je ne trouve pas comme ça mais sinon, j'ai trouvé des forums sur lesquels ils expliquent comment faire pour connaitre notre FAI et par conséquent notre SMTP :

Il faut aller sur http://www.monadresseip.com pour connaître son adresse IP publique. Ensuite sur http://www.dnsstuff.com il faut aller dans IPWHOIS Lookup pour connaître le FAI.

Voilà, donc à tester ...

Merci

ellessa mange des cerises

Répondre à elsadelatoundra

15

 oberion, le 28 sep 2006 à 10:10:38

Re,
Oui, mais cela ne te donnera pas l'adresse du serveur SMTP pour autant.

Essaie de mettre un smtp sur ta machine de dev, ce sera plus facile. :)

Cdlt.

Répondre à oberion

13

killerscraft, le 27 sep 2006 à 18:32:38

Bonjour, j'aimerais savoir s'il vous plait comment creer sa propre adresse mail avec une redirection a la "vraie" ou pouvoir recevoir les e-mail par exemple avec outlook.

Exemple :
bonjour@aurevoir.bye creer ce genre d'adresse, comme font les sociétés.

Merci d'avance...

Répondre à killerscraft

14

oberion, le 28 sep 2006 à 10:08:51

Bonjour,

Nouveau probleme, nouveau message.

Merci,

Cdlt.

Répondre à oberion
Collection CommentÇaMarche.net