JS Ajax PHP e-MAIL

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par KOogar, 17 Juin 2019.

  1. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 676
    J'aime reçus:
    79
    Bonjour,

    Tout les templates formulaires sont aujourd'hui vendu en ajax, pas de rechargement de page, mais je n'ai pas trouvé de tuto à jour sur comment intégrer php.

    Il y a bien une fonction js/ajax
    Code:
                .done(function (response) {
                    // Make sure that the formMessages div has the 'success' class.
                    $(formMessages).removeClass('error');
                    $(formMessages).addClass('success');
                    // Set the message text.
                    $(formMessages).text('Thanks! Message has been sent.');
     
                })

    et une sortie HTML
    HTML:
    <div id="success_fail_info"></div>

    Comment intégrer la fonction mail php ?
     
  2. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 179
    J'aime reçus:
    330
    Tu as surement un $.post ou $.ajax avant le .done()
     
  3. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 179
    J'aime reçus:
    330
    Truc torché à la rache :
    PHP:
    <?php
    if (!empty($_POST) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
        if (
    mail('koog@ar.com''New message'$_POST['message'])) {
            echo 
    "Message envoyé avec succès.";
        } else {
            
    http_response_code(500);
        }
        exit();
    }
    ?>
    <!doctype html>
    <html lang="en">
      <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
        <title>Contact</title>
      </head>
      <body>
        <div class="container">
            <form id="contact-form" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
                <div class="form-group">
                    <label for="firstname">Firstname</label>
                    <input type="text" id="firstname" name="firstname" class="form-control" required>
                </div>
                <div class="form-group">
                    <label for="lastname">Lastname</label>
                    <input type="text" id="lastname" name="lastname" class="form-control" required>
                </div>
                <div class="form-group">
                    <label for="message">Message</label>
                    <textarea id="message" name="message" class="form-control" required></textarea>
                </div>
              
                <button type="submit" id="submit" class="btn btn-primary">Submit</button>
            </form>
        </div>

        <script src="https://code.jquery.com/jquery-3.4.1.min.js" crossorigin="anonymous"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
        <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
      
        <script>
            $(function () {
                $('#submit').on('click', function (e) {
                    e.preventDefault();
                    let $form = $('#contact-form');
                  
                    if ($form.get(0).checkValidity()) {
                        $.post($form.attr('action'), $form.serializeArray()).done(function (data) {
                            $form.prepend(`<div class="alert alert-success">${data}</div>`);
                        }).fail(function(jqXHR, textStatus, errorThrown) {
                            $form.prepend(`<div class="alert alert-danger">Une erreur est survenue.</div>`)
                        });
                    } else {
                        $form.get(0).reportValidity();
                    }
                });
            });
        </script>
      </body>
    </html>
     
    KOogar apprécie ceci.
  4. KOogar
    KOogar WRInaute accro
    Inscrit:
    16 Novembre 2004
    Messages:
    4 676
    J'aime reçus:
    79
    a l'arrache en +, gz, j'ai poser le code et reçu le mail :)

    +1000
     
Chargement...
Similar Threads - Ajax PHP MAIL Forum Date
Upload via Ajax et limitation post_max_size (php.ini) Développement d'un site Web ou d'une appli mobile 11 Février 2016
[PHP/JavaScript/Ajax] COmpte à rebour Développement d'un site Web ou d'une appli mobile 24 Juin 2011
Cherche un pannier ajax/php? Développement d'un site Web ou d'une appli mobile 28 Février 2011
Afficher les produits suivants en ajax Développement d'un site Web ou d'une appli mobile 12 Mai 2020
Requête Ajax avec code source visible Développement d'un site Web ou d'une appli mobile 14 Mars 2020
Comment stopper l'exécution de script ajax Développement d'un site Web ou d'une appli mobile 21 Avril 2019
Ajax et duplicate content (Single Page Application) Crawl et indexation Google, sitemaps 1 Mars 2019
Supprimer ajax d'une petite fonction JS Développement d'un site Web ou d'une appli mobile 29 Novembre 2018
Google ne reconnaît pas Ajax !? Référencement Google 30 Août 2018
AJAX BESOIN D'AIDE Développement d'un site Web ou d'une appli mobile 2 Juin 2018