invitation par fonction mail php

Petit nouveau ! | 5 Messages

12 avr. 2008, 19:02

Bonjour,
Je souhaites creer un formulaire ou l'on puisse entrer l'adresse mail de quelqu'un a qui on veux faire decouvrir le site.
Voici mon bout de code

Code : Tout sélectionner

<?php //l'adresse mail a qui s'adresse l'invitation $melinvit = $_POST["melinvit"]; //son nom $nominvit = $_POST["nominvit"]; //l'adresse mail de la personne qui envois l'invitation $mel = $_POST["mel"]; //le nom de la personne qui envois l'invitation $nom = $_POST["nom"]; //le sujet $sujet = "invitation"; //le message $msg="\nBonjour,<br>.$nom. vous invite a decouvrir ce site :"\n"; $entete = "From: ".$mel."\nContent-Type: text/html; charset=iso-8859-1"; // Envoi du mail mail($melinvit,$sujet,$msg,$entete); ?>
Quelqu'un peut il m'eclairer ?
merci

Mammouth du PHP | 558 Messages

12 avr. 2008, 19:32

essaye d'utiliser les balises php quand c'est du php
<?php
//l'adresse mail a qui s'adresse l'invitation
$melinvit = $_POST['melinvit'];
//son nom
$nominvit = $_POST['nominvit'];
//l'adresse mail de la personne qui envois l'invitation
$mel = $_POST['mel'];
//le nom de la personne qui envois l'invitation
$nom = $_POST['nom'];
//le sujet
$sujet = 'invitation';
//le message
$msg='\nBonjour,<br>'.$nom.' vous invite a decouvrir ce site :"\n';
//ajoute un textarea optionnel si le visiteur veux envoyé un petit message en meme temps
$msg.=$_POST['msg'];
$entete = 'From: '.$mel.'\nContent-Type: text/html; charset=iso-8859-1';
// Envoi du mail
mail($melinvit,$sujet,$msg,$entete);
?>

tu dois avoir des erreur php en remplacant les double quote par des simple sa va te simplifier la vie.
PS je n'ai pas tester mais je croi que sa doit mieux fonctionner comme cela

Petit nouveau ! | 5 Messages

12 avr. 2008, 20:04

Merci, j'ai remplace les doubles quotes mais ca ne fonctionne toujours pas ...
<?php
//l'adresse mail a qui s'adresse l'invitation
$melinvit = $_POST['melinvit'];
//son nom
$nominvit = $_POST['nominvit'];
//l'adresse mail de la personne qui envois l'invitation
$mel = $_POST['mel'];
//le nom de la personne qui envois l'invitation
$nom = $_POST['nom'];
//message optionelle
$mess = $_POST['mess'];
//le sujet
$sujet = 'invitation';
//le message
$msg ='\nBonjour,<br>'.$nom.' vous invite a decouvrir ce site :<br>'.$mess.'"\n';
//entete
$entete = 'From: '.$mel.'\nContent-Type: text/html; charset=iso-8859-1';
// Envoi du mail
mail($melinvit,$sujet,$msg,$entete);
?> 
je ne comprends pas ou est l'erreur ...

Mammouth du PHP | 558 Messages

12 avr. 2008, 20:17

c'est quoi qui ne fonctionne pas?
Car je n'ai pas tester comme je te l'ai dit.
en un mot c'est quoi le message d'erreur?

Petit nouveau ! | 5 Messages

12 avr. 2008, 20:33

pas de message d'erreur ... en fait mes variables viennent d'un fichier flash et les verifications se font au niveau du flash, ma page php ne sert qu'a envoyer tout ca et donc pas de message ...
C'est vrai que c'est pas evident si je n'ai pas de message d'erreur ...

Par contre ce que je peux ajouter c'est que si je remplace

Code : Tout sélectionner

//l'adresse mail a qui s'adresse l'invitation $melinvit = $_POST['melinvit'];
par

Code : Tout sélectionner

//l'adresse mail a qui s'adresse l'invitation $melinvit = '[email protected]';
ca fonctionne ...

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

12 avr. 2008, 20:48

en remplacant les double quote par des simple sa va te simplifier la vie.
Certes dans 99% des cas peut être mais pas ici :wink:
En effet les sauts de lignes etc. => \n, \r, \t doivent être entre guillemets pour être interprétés.

Règle numéro 1 pour débugger... Afficher les variables
$melinvit = $_POST["melinvit"];
echo "melinvit = ".$melinvit;
L'attribut "name" et l'index de POST correspondent (orthographe)?

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Petit nouveau ! | 5 Messages

12 avr. 2008, 21:17

Ca ne fonctionne toujours pas ...
L'orthographe a été verifié, pas d'erreur de ce coté la ...
Le code en entier:
<?php
//l'adresse mail a qui s'adresse l'invitation
$melinvit = $_POST["melinvit"];
echo "melinvit = ".$melinvit;
//son nom
$nominvit = $_POST["nominvit"];
echo "nominvit = ".$nominvit;
//l'adresse mail de la personne qui envois l'invitation
$mel = $_POST["mel"];
echo "mel = ".$mel;
//le nom de la personne qui envois l'invitation
$nom = $_POST["nom"];
echo "nom = ".$nom;
//message optionelle
$mess = $_POST["mess"];
echo "mess = ".$mess;
//le sujet
$sujet = "invitation";
//le message
$msg ="\nBonjour,<br>".$nom." vous invite a decouvrir ce site :<br>".$mess."\n";
//entete
$entete = "From: ".$mel."\nContent-Type: text/html; charset=iso-8859-1";
// Envoi du mail
mail($email,$sujet,$msg,$entete);
?>

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

12 avr. 2008, 21:19

Ok peut être... mais les echos affichent quoi ?

J'en sais rien moi mais tu dis que cela fonctionne si tu écris l'adresse mail en dur mais pas par POST ... cqfd ... souci de variable :-k

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Petit nouveau ! | 5 Messages

12 avr. 2008, 22:41

Tout fonctionne nikel , effectivement soucis de variable ...
En tout cas Merci !

Voila le code fonctionnel si ca peut servir pour d'autres:
<?php
//l'adresse mail a qui s'adresse l'invitation
$melinvit = $_POST["melinvit"];
//son nom
$nominvit = $_POST["nominvit"];
//l'adresse mail de la personne qui envois l'invitation
$mel = $_POST["mel"];
//le nom de la personne qui envois l'invitation
$nom = $_POST["nom"];
//message optionelle
$mess = $_POST["mess"];
//le sujet
$sujet = "Invitation";
//le message
$msg ="\nBonjour,<br>".$nom." vous invite a decouvrir ce site : adresse du site<br><br>".$mess."\n";
//entete
$entete = "From: ".$mel."\nContent-Type: text/html; charset=iso-8859-1";
// Envoi du mail
mail($melinvit,$sujet,$msg,$entete);
?>

Mammouth du PHP | 558 Messages

12 avr. 2008, 23:17

en remplacant les double quote par des simple sa va te simplifier la vie.
Certes dans 99% des cas peut être mais pas ici :wink:
En effet les sauts de lignes etc. => \n, \r, \t doivent être entre guillemets pour être interprétés.

Règle numéro 1 pour débugger... Afficher les variables
$melinvit = $_POST["melinvit"];
echo "melinvit = ".$melinvit;
L'attribut "name" et l'index de POST correspondent (orthographe)?
Je parlais du php pas du contenue des variables

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

12 avr. 2008, 23:58

Modération :
tomtomtoma, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute