Rechercher : dans
Par :

Formulaire de contact pour site internet

Dernière réponse le 25 avr 2009 à 15:11:14 Schumi513, le 6 avr 2009 à 22:10:24 
 Signaler ce message aux modérateurs

Bonjour,

Je suis un débutant (un vrai de vrai débutant) en matière de conception de site internet.
j'ai commencé à concevoir mon site internet via Dreamweaver. J'ai ajouté dans ma page internet un formulaire de contact.
Le formulaire de contact contient les élements suivants:

NOM

Prénom

Adresse email

Description du problème

Pièce jointe 1

Pièce jointe 2

Pièce jointe 3

Et un bouton envoyer. Dans le code HTLM, au niveau de l'action j'ai mis mailto: et une adresse email.


Malheureusement mon formulaire internet ne fonctionne pas. Je ne comprends pas pourquoi.
A chaque fois que que j'appuie sur ENVOYER, ma messagere OUTLOOK S'ouvre. Impossible d'envoyer le contenu du formulaire depuis la page internet.

QUe faire?

Pourriez vous svp m'expliquer (idéalement me donner le code à ajouter dans ma page et où le placer) comment réaliser le formulaire que je souhaite de la façon la plus simple possible?

Je souhaiterais aussi avoir une page de remerciement (une fois que l'utilisateur a appuyé sur envoyer). Comment faire?

Sur internet j'ai trouvé une multitude de sites qui traitent de mon problème...cependant je ne comprends jamais les solutions. On me parle de PHP etc..
Serait il possible d'avoir une explication ULTRA SIMPLE (digne d'une explication pour un enfant de 5 ans :-) lol)

En vous remerciant d'avance

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « Formulaire de contact pour site internet » dans :
[Webmaster] Un formulaire de contact pour votre site VoirCe formulaire permet d'avoir une page pour être contacté sur son site, sans utiliser de logiciel de messagerie. La personne qui vous contacte indique son adresse, l'objet du message et son message (évidemment). Le code est une version...
Le cahier des charges d'un site Web VoirLe cahier des charges Faire le cahier des charges de son site d'entreprise Le cahier des charges d'un site Internet définit les spécifications du service à réaliser. Ce document conçu par l'entreprise permet ensuite de sélectionner un prestataire...
Protéger son site internet contre les contrefaçons VoirIl vous est sûrement déjà arrivé de craindre (ou de constater) que quelqu'un s'approprie des oeuvres que vous avez publiées (sur internet ou tout autre support) afin de mettre à son profit vos créations. Il est impossible d'empêcher des personnes...

1

avion-f16, le 6 avr 2009 à 22:20:16

Bonjour,

si tu n'as aucune connaissance en PHP ça va être dure !
Là je vais devoir y aller mais dés que je vais sur le PC, je te crées un petit script PHP où tu n'auras qu'à modifier ton adresse mail (formulaire compris). Si je l'dis c'est que vrai sinon j'ne l'dirai pas puisque j'­suis pas un menteur ;)

Répondre à avion-f16

2

Schumi513, le 7 avr 2009 à 21:48:03

Salut avion F-16

Trop cool de ta part. Je suis preneur d'un petit script php tout fait.
Pourras tu aussi m'expliquer entre quelles balises HTML je dois placer le script pout que cela fonctionne bien?

D'avance un grand merci pour ton aide,

Répondre à Schumi513

4

avion-f16, le 8 avr 2009 à 12:59:32

Je vais te fournir le script complet ne t'inquiète pas pour ça.
D'ailleur, je vais me mettre au travail ;)

Par contre, un site Web n'est pas un client de messagerie donc pour les pièces jointes, c'est autre chose mais si tu les veux à tout prix, dis-le.
Si je l'dis c'est que vrai sinon j'ne l'dirai pas puisque j'­suis pas un menteur ;)

Répondre à avion-f16

3

brice97423, le 7 avr 2009 à 21:51:36

Ce ne sera pas des balises HTML ou il faudra mettre ce script mais des balises <php? ET ?> mais ne t'inquiète pas ces balise vont-être fourni avec le script ;)

Bonne chance    Commentcamarche = S-U-P-E-R site ^^

Répondre à brice97423

5

avion-f16, le 8 avr 2009 à 14:46:12
  • +1

Remplace ton formulaire (de <form> à </form>) par ce script :

<?php
if(!empty($_POST))
{
    $error = 0;
    $text_erreur = '';
    
    if(empty($_POST['nom'])) {
        $error++;
        $text_erreur .= 'Le champs "Nom" est vide<br/>';
    }
    if(empty($_POST['prenom'])) {
        $error++;
        $text_erreur .= 'Le champs "Prénom" est vide<br/>';
    }
    if(!preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#i", $_POST['mail']))
    {
        $error++;
        $text_erreur .= 'L\'adresse e-mail est invalide<br/>';
    }
    if(empty($_POST['description'])) {
        $error++;
        $text_erreur .= 'Le champs "Description" est vide<br/>';
    }
    
    if($error > 0)
    {
        echo 'Il y a '.$error.' erreur(s) :<br/>'.$text_erreur ;
    }
    else
    {
        $Name = stripslashes($_POST['nom']).' '.stripslashes($_POST['prenom']) ;
        $email = $_POST['mail'];
        $recipient = 'dylanjan313@hotmail.com' ;
        $mail_body = stripslashes($_POST['description']) ;
        $subject = 'Rapport de problème' ;
        $header = "From: ". $Name . " <" . $email . ">\r\n";

        $mail_fonction = mail($recipient, $subject, $mail_body, $header);
        
        //Si le mail est bien envoyé
        if($mail_fonction == true)
        {
          echo '<p style="color:green;">Le mail a bien été envoyé.<br/></p>';
        }
        else
        {
          echo '<p style="color:red">Erreur lors de l\'envoie du mail !<br/></p>';
        }
    }
}
else
{
?>
<form method="post" action="">
    <fieldset>
    
        <p>
            <label for="nom">Nom</label>
            <input type="text" name="nom" id="nom" />
        </p>
        
        <p>
            <label for="prenom">Prénom</label>
            <input type="text" name="prenom" id="prenom" />
        </p>
        
        <p>
            <label for="mail">Adresse e-mail</label>
            <input type="text" name="mail" id="mail" />
        </p>
        
        <p>
            <label for="description">Description</label>
            <textarea name="description" id="description" cols="45" rows="10">Décrivez précisément le problème</textarea>
        </p>
        
        <p>
            <input type="submit" value="Envoyer" />
        </p>
    </fieldset>
</form>
<?php
}
?>


N'oublie pas de renommer ton fichier avec l'extension .php au lieu de .html et n'essaye pas de lancer le fichier quand il est sur ton PC (ça ne fonctionne qu'une fois sur le serveur).
Si je l'dis c'est que vrai sinon j'ne l'dirai pas puisque j'suis pas un menteur ;)

Répondre à avion-f16

6

Schumi513, le 8 avr 2009 à 21:43:19

Hello,

Merci beaucoup pour tout ce travail. J'espère que tu n'as pas passer trop de temps là dessus....je vais culpabiliser après...
Je vais essayer ce soir de voir si cela fonctionne et je te tiens au courant.
Je suppose que je dois remplacer "$recipient = 'dylanjan313@hotmail.com' " par mon adresse email....sinon tu vas tout recuperer lol ;-)

Pour ce qui est des pièce jointes, en fait je souhaiterais que le visiteur puisse remonter un problème et joindre eventuellement un doc word ou une capture d'écran, un pdf...etc.
Le top du top serait donc que l'utilisateur puisse jointre 1 ou 2 pièce jointes....Un peu comme sur les sites de recrutement ou tu peux joindre un CV et une lettre de motivation...

Si cela t'inspire...je suis preneur aussi...lol...

Un grand merci en tous les cas..

Répondre à Schumi513

7

Schumi513, le 8 avr 2009 à 23:07:24

Hello Hello

c'est encore moi.
Je viens de tester le formulaire. Mais malheureusement....il ne semble pas fonctionner.
Quand je clique sur envoyer...le message n'arrive pas dans ma messagerie :-(
Est ce qu'il manque quelque chose ds le code?

De plus, dans le code, j'ai l'impression que tu as mis certains controles (style controle sur l'adresse de l'expediteur etc.) et ici il n'y a pas de controle. Je peux cliquer sur envoyer alors que le formulaire est completement vide et ca n'a pas l'air de l'embeter enormément...

D'avance merci pour ton retour,

cdt

Répondre à Schumi513

8

avion-f16, le 9 avr 2009 à 16:22:29

J'ai tester le script (c'est d'ailleur pour ça qu'il y avait mon adresse mail) et ça fonctionne parfaitement. Il se peut que le mail ce place dans le dossier indésirables (ce que fais Hotmail).

Que veux-tu dire par "des contrôles sur l'adresse de l'expéditeur" ? [a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4} permet de vérifier si c'est bien une adresse mail qui est donnée.

Pour que ça fonctionne, il faut que le fichier ai l'extension .php au lieu de .html et qu'il soit sur le serveur (le FTP si tu préfère).

Je vais refaire le script afin de donne la possibilité de mettre des pièces jointes.
Si je l'dis c'est que vrai sinon j'ne l'dirai pas puisque j'suis pas un menteur ;)

Répondre à avion-f16

17

mdamvivi, le 22 avr 2009 à 11:21:35

Bonjour

Simplement un grand merci ! Je débute aussi en webmastering sur dreamweaver... Mes boss m'ont réclamé un formulaire de contact pour notre site web. J'ai trouvé ce post, et me suis permise de récupérer le code proposé. en suivant tes conseils cela fonctionne à merveille.

Merci encore

Répondre à mdamvivi

9

avion-f16, le 9 avr 2009 à 19:04:31

Je viens de terminé le script avec maintenant la possibilité de mettre des pièces jointes.

Je ne vais pas copier/coller le code directement sur ce message (il fait 156 lignes) donc télécharge le en cliquant ici Si je l'dis c'est que vrai sinon j'ne l'dirai pas puisque j'­suis pas un menteur ;)

Répondre à avion-f16

10

Schumi513, le 9 avr 2009 à 23:29:07

Salut avion F16,


Tout d'abord un grand merci pour ton aide et ta réalisation.
Je viens de retester....et malheureusement, cela ne fonctionne tjs pas. Les messages n'arrivent pas dans ma boite mail.

Je me permets (en espérant que cela ne t'embete pas) de t'envoyer ma page web afin que tu puisses examiner le code et reperer où cela coince. Comme il n'y pas de quoi charger un fichier sur le forum je te le l'envoie sur ton adresse email (je t'enverrai cela avec mon adresse jeralepourvous@neuf.fr). J'espère que cela ne t'ennuie pas.

Pour ce qui est du dossier à créer pour récuperer les fichiers joints, je n'ai pas tres bien compris le passage sur
"Une fois que tu as paramétrer ces variables, tu crées un dossier portant le même nom que $dossier_up et tu lui met un CHMOD de 777 (Clic droit -> Attributs sous FileZilla)"

En fait j'utilise un FTP en ligne du type ftpperso.sfr.fr (je sais c'est pas pro...mais c'est ce qui caractérise les vrais debutants). J'ai créer un dossier "container" et j'ai changer les variables comme tu me l'as dit.

Répondre à Schumi513

11

avion-f16, le 11 avr 2009 à 00:35:48

Je viens de trouver l'erreur : Tu avais laisser tes balises <form> et </form> ... je ne vais pas rentrer dans les détails pour t'expliquer l'erreur que ça provoquait.

Voici le script corrigé : Mail.zip
(il faut encore que tu modifies ton adresse, le dossier et l'url du dossier). Si je l'dis c'est que vrai sinon j'ne l'dirai pas puisque j'suis pas un menteur ;)

Répondre à avion-f16

12

Schumi513, le 11 avr 2009 à 16:14:41

Aie aie aie....
je sens que tu vas me détester...mais ca marche pas :-(
J'ai carrément repris ta page .php telle que tu me l'as envoyée. J'ai modifié l'url etc...et lorsque je fais un test en ligne (donc un test grandeur nature), j'ai le message d'erreur suivant qui apparait directement sur la page:




"Warning: mail() has been disabled for security reasons in /var/www/j/je/jer/jeralepourvous.perso.neuf.fr/public_html/Deposerundossier.php on line 144

Erreur lors de l'envoie du mail !"


Est ce que cela vient du code? ou de l'hebergeur?
Je comprends pas parce que j'ai pourtant bien reçu ton message ds mon adresse email....Ton test a fonctionné mais pas le mien...

Est ce que ce message d'erreur te parle? d'avance merci pour ta reponse,

Répondre à Schumi513

13

avion-f16, le 11 avr 2009 à 17:39:14

En gros, l'erreur dis que l'hébergeur à désactiver la fonction mail() (qui comme tu l'as sûrement deviné sert à envoyer des mails ^^). La seule solution et de changer d'hébergeur.

Sinon les fichiers se placent bien dans le dossier ? Si je l'dis c'est que vrai sinon j'ne l'dirai pas puisque j'­suis pas un menteur ;)

Répondre à avion-f16

14

Schumi513, le 11 avr 2009 à 18:37:18

Hello,

Oui les fichiers arrivent bien dans le dossier (ils changent de nom par contre...mais bon ce n'est pas tres important).
Par contre, comment peut on faire pour qu'apres l'envoie, une page de remerciement s'affiche?


Pour le problème des mails, je suppose qu'il faut donc que je change d'hebergeur?

Connais tu un bon hebergeur gratuit où je ne risque pas d'avoir ce genre de problème?

d'avance merci,

Répondre à Schumi513

15

avion-f16, le 11 avr 2009 à 18:54:14

Ils changent de nom par contre : Je l'ai fais exprés parce que si un fichier portant le même nom qu'un autre arrive, l'ancien sera écrase. Ainsi, chaque fichier a un nom unique.

Pour l'hébergement, je connais E3b
Si je l'dis c'est que vrai sinon j'ne l'dirai pas puisque j'­suis pas un menteur ;)

Répondre à avion-f16

16

Schumi513, le 13 avr 2009 à 22:47:18

Merci beaucoup.
Je vais essayer dans le courant de la semaine. Je te tiens au courant pour te dire si cela fonctionne bien ou pas.
Un grand merci,

Répondre à Schumi513

18

Schumi513, le 25 avr 2009 à 14:44:52

Salut avion F-16,

dsl je reponds super tard mais j'etais en vacances...

Alors j'ai changé d'hébergeur et j'ai reessayé avec ton formulaire....et....ca marche!!!!!! trop de la balle.
La pièce jointe et le mail fonctionnent à merveille! Un big merci!

La seul petit developpement qui serait pas mal, serait de créer une règle pour faire apparaitre une page de remerciement lorsque l'utilisateur a envoyé son formulaire...

qqn sait comment cela marche?

Répondre à Schumi513

19

 avion-f16, le 25 avr 2009 à 15:11:14

Si tu regarde +/- au milieu, tu verras :

echo '<p style="color:green;">Le mail a bien été envoyé.<br/></p>';


Il te suffit de modifier ce qu'il y a entre '

PS : Si ton message contient des apostrophes ( ' ), ajoute un anti-slashe ( \ ) devant (ex : Je m\'appelle)
Les fautes présentes ci-dessus sont l'oeuvre de leur auteur respectif.
Merci de ne pas les recopier ou les corriger sans l'accord de leur auteur.

Répondre à avion-f16
Collection CommentÇaMarche.net