Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/12/2007, 18h19   #1
Invité de passage
 
Inscription : février 2005
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 5
Points : 2
Points : 2
Par défaut Formulaire de contact

Bonjour a tous,

Je n'y connais strictement rien en PHP, alors je viens demander un peut d'aide ici.

Je voudrai pour un petit site perso faire un formulaire de contact très simple, j'ai trouvé un exemple sur le net qui correspond a ce que je cherche, mais il a un défaut, il m'envoie les mails de la part de moi même.

le script PHP :
Code :
1
2
3
4
5
6
7
8
9
10
11
<?php
$TO = "MON@ADRESSE.MAIL";
$h  = "From: " . $TO;
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS))
{
  $message .= "$key : $val\n";
}
mail($TO, SUJET_PREDEFINI, $message, $h);
Header("Location: http://...MAIL_ENVOYE");
?>
Le formulaire HTTP :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<form method=POST action=mail.php >
                <table>
                  <tr>
                    <td>Name :</td>
                    <td><input type=text name=nom size=42></td>
                  </tr>
                  <tr>
                    <td>E-mail :</td>
                    <td><input type=text name=email size=42></td>
                  </tr>
                  <tr>
                    <td colspan=2><textarea COLS=50 ROWS=10 name=comments></textarea>
                    </td>
                  </tr>
                </table>
                <br>
                <input type=submit value=envoi>
                -
                <input type=reset value=Reset>
              </form>

Sinon on m'as proposé aussi un "vérificateur de syntaxe d'email" ce qui en soit a l'air super, mais je n'arrive pas a l'intégrer
Code :
1
2
3
4
if( !preg_match("/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/",$from) )
{
Header("Location: http://...MAUVAIS_MAIL.html");
}
Je me répète je n'y comprend strictement rien au PHP ou presque évitez les réponses trop "imagées" SVP

Bonne et heureuse année a tous
AcidBen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2007, 19h05   #2
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Salut et bienvenue dans les forums de Developpez.com !
Citation:
il m'envoie les mails de la part de moi même.
Effectivement. Dans l'en-tête d'un mail, "TO" est le destinataire et "FROM", l'expéditeur. Hors, tu ne spécifies pas le destinataire, mais seulement l'expéditeur... Attention aussi à l'utilisation des majuscules, car les adresses mails sont sensibles à la casse.

En fait, je te conseille vivement l'utilisation de l'excelente librairie PHPMAILER pour envoyer des mails. Tu trouveras le lien de téléchargement et un exemple d'envoi de mail avec ajoût de pièces jointes dans ce post. Il faut garder à l'esprit que c'est une démo car si tu laisses ce genre de formulaire installé sur ton site, n'importe qui pourrait l'utiliser pour envoyer des mails. C'est important la sécurité lorsqu'on fait du développement web, c'est d'ailleurs ça qu'il faut connaître avant tout le reste. Il ya quelques cours sur le forum à ce propos...

http://php.developpez.com/cours/?page=securite

Si tu as d'autres questions, n'hésite pas, sinon, ajoute le tag [Résolu] au sujet (en cliquant sur le bouton tout en bas à gauche de cette page).

à+
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2008, 00h16   #3
Invité de passage
 
Inscription : février 2005
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 5
Points : 2
Points : 2
Citation:
Envoyé par Sub0 Voir le message
Effectivement. Dans l'en-tête d'un mail, "TO" est le destinataire et "FROM", l'expéditeur. Hors, tu ne spécifies pas le destinataire, mais seulement l'expéditeur...
J'avais vu ça...
Comment définir le destinataire du coup ?

Sinon PhpMailer a l'air bien mais beaucoup trop complexe pour ce que je recherche

Merci beaucoup
AcidBen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2008, 09h52   #4
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
L'adresse du destinataire est définit dans le 1er paramètre de la fonction mail().

http://a-pellegrini.developpez.com/t...php/mail/#L3.1
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2008, 12h53   #5
Invité de passage
 
Inscription : février 2005
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 5
Points : 2
Points : 2
Citation:
Envoyé par Sub0 Voir le message
L'adresse du destinataire est définit dans le 1er paramètre de la fonction mail().
Oui ca j'avais compris
Je me suis peut être mal exprimé.

J'aimerai remplacer
par
Code :
$h  = "From: " . "adresse email saisie dans le formulaire";
Et dans le lien que tu me passe il y a justement ce soucis d'expéditeur qui sera pour le coup CGImailer.
En dessous il y a bien ce que je cherche par contre mais je ne saurait l'adapter pour mon script...

C'est possible ?

Merci
AcidBen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2008, 18h29   #6
Membre du Club
 
Inscription : décembre 2005
Messages : 101
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 101
Points : 45
Points : 45
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
if( preg_match("/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/",$_POST['email']) ) 
{
$TO = "MON@ADRESSE.MAIL";
$h  = "From: " . $_POST['email'];
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS))
{
  $message .= "$key : $val\n";
}
mail($TO, SUJET_PREDEFINI, $message, $h);
Header("Location: http://...MAIL_ENVOYE");
}
 
else {
echo "adresse mail non valide";
}
?>
__________________
La connaissance, c'est comme la confiture : moins on en a, plus on l'étale !
Coluche

http://www.oliotechnology.fr
Istrella est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2008, 20h16   #7
Invité de passage
 
Inscription : février 2005
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 5
Points : 2
Points : 2
ça fonctionne et très bien

Bonne année et MERCI beaucoup Istrella

RÉSOLU
AcidBen est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h06.


 
 
 
 
Partenaires

Hébergement Web