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 472
    J'aime reçus:
    48
    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:
    8 845
    J'aime reçus:
    250
    Tu as surement un $.post ou $.ajax avant le .done()
     
  3. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 845
    J'aime reçus:
    250
    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 472
    J'aime reçus:
    48
    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
Insertion dans une base avec AJAX , php Développement d'un site Web ou d'une appli mobile 21 Mai 2009
Ajax : Executer un code php via des boutons input Développement d'un site Web ou d'une appli mobile 17 Janvier 2009
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice