Les Allergies
Alimentaires
Posez votre question Signaler

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

elsadelatoundra 125Messages postés 13 septembre 2006Date d'inscription - Dernière réponse le 28 sept. 2006 à 10:10
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 !

;-)
Lire la suite 

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

15 réponses
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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 !
Ajouter un commentaire
Réponse
+0
moins plus
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 ;-)
oberion- 26 sept. 2006 à 14:44
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.
elsadelatoundra- 26 sept. 2006 à 15:11
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 !!) ...
oberion- 26 sept. 2006 à 15:12
Sous quel OS es tu ?
Il existe un serveur SMTP préinstallé sous Windows XP/2000.
Ajouter un commentaire
Réponse
+0
moins plus
C'est XP pro
Ajouter un commentaire
Réponse
+0
moins plus
version 5.1
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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
oberion- 28 sept. 2006 à 10:10
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.
Ajouter un commentaire
Réponse
+0
moins plus
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...
oberion- 28 sept. 2006 à 10:08
Bonjour,

Nouveau probleme, nouveau message.

Merci,

Cdlt.
Ajouter un commentaire
Ce document intitulé « [PHP] Bouton = > Envoi de mail avec @mail( ) » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?