[RESOLU] Formulaire d'adhesion

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Formulaire d'adhesion

Re: Formulaire d'adhesion

par Poly » 31 janv. 2011, 20:48

Merci beaucoup.

Donc problème résolu!

Re: Formulaire d'adhesion

par xTG » 31 janv. 2011, 20:08

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

par Poly » 31 janv. 2011, 20:03

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

par Mazarini » 31 janv. 2011, 17:17

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

par xTG » 31 janv. 2011, 16:55

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

par Poly » 31 janv. 2011, 15:28

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

par macgawel » 31 janv. 2011, 14:50

(...)
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:

Formulaire d'adhesion

par PolyC » 31 janv. 2011, 14:36

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