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 665
    J'aime reçus:
    76
    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 029
    J'aime reçus:
    291
    Tu as surement un $.post ou $.ajax avant le .done()
     
  3. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 029
    J'aime reçus:
    291
    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 665
    J'aime reçus:
    76
    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
Recevoir une variable php en utilisant ajax et evenement Développement d'un site Web ou d'une appli mobile 5 Avril 2010
Problème d'apostrophe dans un chat php/ajax Développement d'un site Web ou d'une appli mobile 11 Février 2010
Script Webranking ajax/php Développement d'un site Web ou d'une appli mobile 22 Janvier 2010
PHP / Ajax : Problème de formulaire Développement d'un site Web ou d'une appli mobile 26 Novembre 2009
PHP - AJAX & MYSQL Développement d'un site Web ou d'une appli mobile 20 Novembre 2009
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
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice