2
votes

Formulaire de contact utilisant ajax dans js ne POSTERA pas

Je crée mon premier site Web et je souhaite mettre en place un formulaire de contact en utilisant ajax et php, mais cela ne fonctionnera pas. Cette question peut sembler stupide mais s'il vous plaît ne me détestez pas d'être un débutant en programmation.

Avez-vous une idée de ce qui pourrait ne pas aller?

Voici mon code HTML:

XXX

Ceci est mon code js:

    <?php
    if($_POST){
    $name = $_POST['name'];
    $email = $_POST['email'];
    $msg_subject = $_POST['msg_subject']
    $message = $_POST['message'];

     //send email
     mail("email@gmail.com", "This is an email from:" .$email, $msg_subject, $message);}?>

Voici mon fichier php dans lequel je veux envoyer le mail:

XXX

Si vous avez besoin de plus d'informations, n'hésitez pas à demander.


3 commentaires

Avez-vous des erreurs?


Quelle partie ne fonctionne pas?


Si j'appuie sur le bouton «envoyer un message», rien ne se passe et je ne sais pas pourquoi. Y a-t-il une erreur dans mon ajax -> php POST


3 Réponses :


0
votes

Il se peut que plusieurs choses se passent ici. Difficile à dire sans en voir plus. Avez-vous attaché la fonction submitForm () au bouton?


0 commentaires

0
votes

Quelques raisons possibles:

Essayez d'inclure la bibliothèque jQuery:

mail ( string $to , string $subject , string $message [, mixed $additional_headers [, string $additional_parameters ]] ) 

Mettez votre code jQuery dans . ready () :

php/form-process.php

Vous devez appeler la fonction JS submitForm () sur l'événement de soumission de formulaire:

$("#contactForm").on( 'submit', function(){
    submitForm();
    return false;
});

Assurez-vous que l'URL suivante existe:

$( document ).ready(function() {
  // Handler for .ready() called.
});

Corrigez votre mail paramètres de la fonction:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


0 commentaires

1
votes

J'utilisais ajax avec nodeJs mais je ne pense pas que cela devrait être valide url: "php / form-process.php",

essayez plutôt d'ajouter la route que vous utilisez pour traiter les requêtes telles que

/form-process.php ou /php/form-process.php ou quel que soit l'itinéraire que vous utilisez

si vous n'avez pas ajouté jquery à votre html, cela causerait également cela


0 commentaires