Page 1 sur 1

Formulaire d'adhesion

Posté : 31 janv. 2011, 14:36
par PolyC
Bonjour,

Je cherche a faire un formulaire d'adhésion à une association qui lorsqu'on a fini de remplir les champs, cela envoie un mail à une boite bien précise pour récupérer les informations. Pour ce faire j'ai deux fichiers:

index.html
<form action="mail.php" method="post" name="formulaire">
			<h3>Informations Personnelles</h3><br /><br />

Nom: <input id="nom" name="nom" type="text" maxlength="255" value=""/> <br />
Prenom: <input id="prenom" name="prenom" type="text" maxlength="255" value=""/> <br />
Date de Naissance: <input id="naissance" name="naissance" type="text" maxlength="255" value=""/> <br />

			<h3>Coordonnes</h3><br /><br />
Email: <input id="email" name="email" type="text" maxlength="255" value=""/> <br />
Ville: <input id="ville" name="ville" type="text" maxlength="255" value=""/> <br />
Adresse: <input id="adresse" name="adresse" type="text" maxlength="255" value=""/> <br />
Code Postale: <input id="postale" name="postale" type="text" maxlength="255" value=""/> <br />
N° Fixe: <input id="fixe" name="fixe" type="text" maxlength="255" value=""/> <br />
N° Portable: <input id="portable" name="portable" type="text" maxlength="255" value=""/> <br />

			<h3>Informations Complémentaires</h3><br /><br />
Nom de votre établissement scolaire: <input id="scolaire" name="scolaire" type="text" maxlength="255" value=""/> <br />
Moyen de payement: <select id="payement" name="payement">
            <option value="paypal" selected="selected">Paypal</option>
            <option value="cheque" >Cheque</option
        ></select>
<br />

<input type="submit" name="valider" value="Valider" />
</form>
et mail.php
<?php
$nom = $_POST['nom']; 
$prenom = $_POST['prenom']; 
$email = $_POST['email']; 
$ville = $_POST['ville']; 
$adresse = $_POST['adresse']; 
$postale = $_POST['postale']; 
$fixe = $_POST['fixe']; 
$portable = $_POST['portable']; 
$to = '[email protected]';
$sujet ='ADHESION RVL';
$msg="Email d'adhesion/readhesion a Radio VL:\n
Nom: $nom \n
Prenom: $prenom \n
Email: $email \n
Ville: $ville \n
Adresse: $adresse \n
Code Postale: $postale \n
Telephone Fixe: $fixe \n
Telephone Portable: $portable \n";
 
/* En-têtes de l'e-mail */
$headers = 'From: '.$nom.' <'.$email.'>'."\r\n\r\n";
 
/* Envoi de l'e-mail */
mail($to, $sujet, $msg, $headers);
?>
Cependant mon script ne fonctionne pas, pourriez-vous m'aider en me disant ou sont mes erreurs.

Merci d'avance,
Cordialement Cyprien

Re: Formulaire d'adhesion

Posté : 31 janv. 2011, 14:50
par macgawel
(...)
Cependant mon script ne fonctionne pas, pourriez-vous m'aider en me disant ou sont mes erreurs.

Merci d'avance,
Cordialement Cyprien
Bonjour.

mon script ne fonctionne pas, c'est un peu court...
Que se passe-t-il au juste ?
Messages d'erreurs ?
Le script fonctionne mais ne produit pas le résultat ?


PS : tu devrais éditer ton message pour enlever ton adresser mail :wink:

Re: Formulaire d'adhesion

Posté : 31 janv. 2011, 15:28
par Poly
Et viens j'ai envoyé le message sans m'être inscrit donc je ne peux pas l'éditer. Est-ce qu'un administrateur pourrait enlever mon email s'il vous plait ?

Et bien je ne reçoit pas de mail. Donc je suppose que ca ne fonctionne, par contre je n'ai pas de message d'erreur.

Cordialement Cyprien

Re: Formulaire d'adhesion

Posté : 31 janv. 2011, 16:55
par xTG
Est-ce que le serveur smtp est renseigné dans le php.ini ?
Ce n'est pas le cas si tu testes en local.

Re: Formulaire d'adhesion

Posté : 31 janv. 2011, 17:17
par Mazarini
Bonjour,

La fonction mail
Retourne TRUE si le mail a été accepté pour livraison, FALSE sinon.
Il est important de noter que ce n'est pas parce que le mail a été accepté pour livraison qu'il arrivera à destination.
Il faut donc faire
if (!mail(...)) echo 'erreur envoi mail';

Je te conseil de faire abstraction de $header() tant que tu ne recois pas le mail. C'est un réglage à faire plus tard.
Pour commencer, fait uniquement
if (!mail('ton adresse','sujet','contenu')) {
echo 'erreur envoi mail';
} else {
echo 'envoi mail ok';
}

Re: Formulaire d'adhesion

Posté : 31 janv. 2011, 20:03
par Poly
Je remplace donc par:
if (!mail($to,$sujet,$msg)) {
echo 'erreur envoi mail';
} else {
echo 'envoi mail ok';
}
Avec ce code la j'ai: "envoi mail ok "
Cette fois si j'ai bien reçu le mail. Cependant j'ai comme expéditeur le nom de mon hébergeur. Est-ce normal?
Retourne TRUE si le mail a été accepté pour livraison, FALSE sinon.
Il est important de noter que ce n'est pas parce que le mail a été accepté pour livraison qu'il arrivera à destination.
Je ne comprend pas bien ce que cela signifie...

Merci d'avance

Re: Formulaire d'adhesion

Posté : 31 janv. 2011, 20:08
par xTG
En clair : La fonction revoie TRUE si PHP a délivré le mail au serveur SMTP, et sinon false. ;)
C'est le serveur SMTP qui envoie le mail et non PHP. Donc la fonction peut retourner TRUE mais le serveur SMTP peut avoir une erreur et ne pas envoyer l'email.

Re: Formulaire d'adhesion

Posté : 31 janv. 2011, 20:48
par Poly
Merci beaucoup.

Donc problème résolu!