IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HTML Discussion :

Formulaire de contact


Sujet :

HTML

  1. #1
    Candidat au Club Avatar de 6mxw9
    Homme Profil pro
    Menuisier
    Inscrit en
    Août 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Menuisier

    Informations forums :
    Inscription : Août 2020
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Formulaire de contact
    Bonjour à tous,

    J'ai créer une page HTML pour faire mon portfolio, et sur cette page j'ai mis un formulaire de contact vraiment basique (nom, prénom, adresse mail, message et bouton envoyer).

    J'aimerai que, quand la personne ait rempli tous les champs, elle clique sur envoyer et le message arrive sur ma boite mail. J'ai lu qu'il fallait faire ça avec PHP... Mais malheureusement, je ne connais absolument pas PHP :/

    Pourriez vous me faire un "tutoriel", ou me dire ce que je dois faire pour que cela fonctionne s'il vous plait ?

    A savoir que le formulaire est directement sur la page principale, c'est un portfolio "one page".

    Je possède un serveur (abonnement chez ArchiveHost, j'ai un accès à Cpanel, si ça peut aider...)

    J'espère que vous pourrez m'aider,
    Merci à vous !

  2. #2
    Membre régulier
    Homme Profil pro
    Agence digitale
    Inscrit en
    Avril 2020
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Agence digitale
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2020
    Messages : 69
    Points : 97
    Points
    97
    Révise tes galops avec Petit galop !

  3. #3
    Candidat au Club Avatar de 6mxw9
    Homme Profil pro
    Menuisier
    Inscrit en
    Août 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Menuisier

    Informations forums :
    Inscription : Août 2020
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Salut, et merci pour ta réponse.

    J'en ai vu un paquet de site, en revanche, le deuxième lien que tu as donné à l'air de ressembler à ce que je cherche. Mais une petite question : si je mets du code PHP dans mon fichier index.html, je vais devoir le renommer en index.php ?

  4. #4
    Membre régulier
    Homme Profil pro
    Agence digitale
    Inscrit en
    Avril 2020
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Agence digitale
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2020
    Messages : 69
    Points : 97
    Points
    97
    Par défaut
    Oui, ton fichier doit avoir l'extension .php
    Révise tes galops avec Petit galop !

  5. #5
    Candidat au Club Avatar de 6mxw9
    Homme Profil pro
    Menuisier
    Inscrit en
    Août 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Menuisier

    Informations forums :
    Inscription : Août 2020
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Bon, j'ai vraiment du mal avec ce formulaire... Pourtant j'imagine que c'est simple, mais ne connaissant absolument pas PHP, même les tutoriels, je ne les comprends pas. Alors je vais essayer de m'expliquer clairement pour avoir votre aide.

    Pour commencer, je vous donne juste la partie de mon code du formulaire, avec le petit bout de code PHP que j'ai trouvé sur un tutoriel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <div class="formulaire">
                    <form action="" method=POST>
     
                        <label for="nom">Nom *</label>
                        <input type="text" id="nom" placeholder="Votre nom" required>
     
                        <label for="prenom">Prénom *</label>
                        <input type="text" id="prenom" placeholder="Votre prénom" required>
     
                        <label for="email">Email *</label>
                        <input type="email" id="email" placeholder="Votre email" required>
     
                        <label for="tel">N° de téléphone</label>
                        <input type="tel" id="tel" placeholder="Votre numéro de téléphone (optionel)">
     
                        <label for="message">Votre méssage *</label>
                        <textarea name="message" id="message" cols="30" rows="10" placeholder="Votre message" required></textarea>
     
                        <p>* Champs requis</p>
     
                        <input type="submit" value="Envoyer" name="send">
                    </form>
                    <?php
        if (isset($_POST['message'])) {
            $position_arobase = strpos($_POST['email'], '@');
            if ($position_arobase === false)
                echo '<p>Votre email doit comporter un arobase.</p>';
            else {
                $retour = mail('mon@adresse.mail', 'Envoi depuis la page Contact', $_POST['message'], 'From: ' . $_POST['email']);
                if($retour)
                    echo '<p>Votre message a été envoyé.</p>';
                else
                    echo '<p>Erreur.</p>';
            }
        }
        ?>
    Je me suis basé sur ce tutoriel : https://lesdocs.fr/envoi-du-contenu-...vers-un-email/
    Paragraphe 3, "Page contact tout en un".

    Donc, j'ai entré les infos dans les champs, et en cliquant sur Envoyer, la page se recharge, revient en haut, et le message "Votre email doit comporter un arobase." s'affiche en bas du formulaire. Et bien sur, je n'ai pas de mail dans ma boite mail ^^ Je précise que j'ai bien mis mon adresse mail à la place de "mon@adresse.mail" qu'on voit dans le code.

    Alors, ne sachant pas du tout de quoi ça peut venir, j'aimerai votre aide. Et par ailleurs, j'aimerai les fonctions suivantes :

    - Champ "Nom" = requis
    - Champ "Prénom" = requis
    - Champ "Mail" = requis
    - Champ "Téléphone" = optionnel
    - Champ "Message" = requis

    Puis, quand toutes ces infos sont correctes, l'utilisateur clique sur le bouton Envoyer, et je reçois un mail de la façon suivante :

    Nouveau message depuis "Mon site"

    Nom Prénom (de l'utilisateur)
    Mail (de l'utilisateur)
    Tel (de l'utilisateur si renseigné)
    Message (de l'utilisateur)
    Si le message a bien été envoyé, j'aimerai que la page remonte en haut, et si possible un message qui dit "Le message a bien été envoyé", dans une petite pop-up si possible, sinon simplement en haut de la page (ou en bas si c'est pas possible).

    Pensez vous que c'est tout ça est faisable étant donné que j'ai un site "one page" ? Je n'ai que mon index.html (et donc maintenant .php), style.css et bootrstrap.js, script.js, et mon dossier img.

    J'espère que vous pourrez m'aider, merci à vous !

  6. #6
    Membre régulier
    Homme Profil pro
    Agence digitale
    Inscrit en
    Avril 2020
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Agence digitale
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2020
    Messages : 69
    Points : 97
    Points
    97
    Par défaut
    tout d'abord, tes champs input n'ont pas tous un attribut "name". C'est cet attribut qui va te permettre de récupérer le résultat d'un input.
    ex:
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="nom">

    Ensuite, tu dois tester que le formulaire est validé:
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
     if (isset($_POST['send'])) {  // ton code }

    A l'intérieur de cette condition, tu fais tous les tests.
    ex: tu testes si le champs "nom" est renseigné:
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
     if ((isset($_POST['nom'])) and (!empty($_POST['nom']))){ // ton code }//on verifie que nom n'est pas vide

    Tu vérifies aussi le format de l'email
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){ // ton code}

    Si tout est OK, tu envoies l'email avec ta fonction mail. Attention, à la configuration du serveur web (si tu travailles en local)

    ah, j'oubliais: pour ne pas que la page remonte à la validation du formulaire, tu peux ajouter ça: <form action="" onsubmit="return false">
    Révise tes galops avec Petit galop !

  7. #7
    Candidat au Club Avatar de 6mxw9
    Homme Profil pro
    Menuisier
    Inscrit en
    Août 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Menuisier

    Informations forums :
    Inscription : Août 2020
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Salut, et merci pour ton aide.

    J'ai ajouté les "name" manquant à tous mes champs.

    Ensuite, tu me dis de vérifier si le formulaire est valide, exemple :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_POST['send'])) {  // ton code }

    Quand tu écris "// ton code", ça signifie que je dois mettre quoi exactement ? Le nom que j'ai attribué à "name" ?
    Et toutes ces lignes que tu me dis de vérifier, je dois les insérer à quel niveau ? A la fin, juste avant " ?> " ?

  8. #8
    Membre régulier
    Homme Profil pro
    Agence digitale
    Inscrit en
    Avril 2020
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Agence digitale
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2020
    Messages : 69
    Points : 97
    Points
    97
    Par défaut
    Voila le principe "en gros":

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     if (isset($_POST['send'])) {  
    //on verifie que nom n'est pas vide
    if ((isset($_POST['nom'])) and (!empty($_POST['nom']))){
    //on verifie que prenom n'est pas vide
    if ((isset($_POST['prenom'])) and (!empty($_POST['prenom']))){
    //on verifie que l'email n'est pas vide
    if ((isset($_POST['email'])) and (!empty($_POST['email']))){
    //on verifie que le message n'est pas vide
    if ((isset($_POST['message'])) and (!empty($_POST['message']))){
    //on vérifie le format de l'email
    if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){ 
    //on envoi le mail
    if(mail('ton_mail@ton_serveur_mail.fr', 'Objet de mon mail', $_POST['message'])){
      echo 'ok';
    }
    else{
      echo 'ko';
    }
    }
    }
    }
    }
     }
     
     }
    Révise tes galops avec Petit galop !

Discussions similaires

  1. Problème avec Affichage de Sous Menu Bootstrap
    Par devalender dans le forum MkFramework
    Réponses: 5
    Dernier message: 08/04/2017, 12h46
  2. [macOS] Problème d'affichage d'une fenêtre modale (Qt::Dialog)
    Par arzela dans le forum Plateformes
    Réponses: 1
    Dernier message: 10/10/2011, 13h23
  3. Réponses: 35
    Dernier message: 25/11/2010, 17h20
  4. Problème d'affichage avec rich:modal et session timeOut
    Par anthony22 dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 24/11/2010, 15h44
  5. probléme d'affichage d'une fiche
    Par sb dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo