par
Terias » 01 mars 2017, 20:15
Que répond le serveur distant ?
Si c'est un script PHP qui est appelé et doit envoyer le mail, tu peux faire un var_dump() des variables attendues et tu verra le résultat dans ta console de dev du navigateur dans l'onglet réseau en réponse du serveur.
Désolé, étant intégrateur de métier, le PHP n'est pas la techno que je gère le mieux.
Je me permets de copier mon code, ce qui te donnera peut-être une idée plus précise du problème.
HTML:
<form enctype="multipart/form-data" method="post" action="process.php" class="form" id="form">
<input type="text" name="name" id="name" class="contact_name_txt" placeholder="Nom..." required />
<input type="email" name="mail" id="mail" placeholder="Mail..." required />
<textarea name="message" id="message" placeholder="Message..." cols="30" rows="10" required ></textarea>
<input type="submit" value="C'est parti !" name="submit" id="submit" class="btn btn-greyblue contact-btn" />
</form>
Le PHP:
<?php
if(isset($_POST['submit'])) {
$destinataire = "[email protected]";
$nom = trim($_POST['name']);
$message = trim($_POST['message']);
$expediteur = $_POST['mail'];
$sujet = '[RA] > Nouveau message (' . $expediteur . ')' ;
var_dump($nom);
var_dump($message);
var_dump($expediteur);
$entetes = 'MIME-Version: 1.0' . "\r\n";
$entetes .= 'Content-type: text/html; charset= "utf-8"' . "\r\n";
$entetes .= 'From: ' . $nom . ' <' . $expediteur .'>' . "\n";
@mail($destinataire,$sujet, $message, $entetes);
$reponse = true;
} else {
$reponse = false;
}
echo json_encode(['reponse' => $reponse]);
?>
Le JS (la partie ajax) :
$(document).ready(function() {
$('#form').on('submit', function(e) {
e.preventDefault();
var $this = $(this);
console.log($this.serialize());
$.ajax({
url: $this.attr('action'),
type: $this.attr('method'),
data: $this.serialize(),
dataType: 'json',
success: function(json) {
if(json.reponse) {
send_success();
eraseForm();
} else {
send_error();
}
}
});
});
});
Je ne sais pas si j'ai utilisé le var_dump de la bonne façon, car je ne trouve rien dans la console (ou alors je ne sais pas chercher)
Merci de ton aide.
[quote="@rthur"]Que répond le serveur distant ?
Si c'est un script PHP qui est appelé et doit envoyer le mail, tu peux faire un var_dump() des variables attendues et tu verra le résultat dans ta console de dev du navigateur dans l'onglet réseau en réponse du serveur.[/quote]
Désolé, étant intégrateur de métier, le PHP n'est pas la techno que je gère le mieux.
Je me permets de copier mon code, ce qui te donnera peut-être une idée plus précise du problème.
HTML:
[html]<form enctype="multipart/form-data" method="post" action="process.php" class="form" id="form">
<input type="text" name="name" id="name" class="contact_name_txt" placeholder="Nom..." required />
<input type="email" name="mail" id="mail" placeholder="Mail..." required />
<textarea name="message" id="message" placeholder="Message..." cols="30" rows="10" required ></textarea>
<input type="submit" value="C'est parti !" name="submit" id="submit" class="btn btn-greyblue contact-btn" />
</form>[/html]
Le PHP:
[php]<?php
if(isset($_POST['submit'])) {
$destinataire = "
[email protected]";
$nom = trim($_POST['name']);
$message = trim($_POST['message']);
$expediteur = $_POST['mail'];
$sujet = '[RA] > Nouveau message (' . $expediteur . ')' ;
var_dump($nom);
var_dump($message);
var_dump($expediteur);
$entetes = 'MIME-Version: 1.0' . "\r\n";
$entetes .= 'Content-type: text/html; charset= "utf-8"' . "\r\n";
$entetes .= 'From: ' . $nom . ' <' . $expediteur .'>' . "\n";
@mail($destinataire,$sujet, $message, $entetes);
$reponse = true;
} else {
$reponse = false;
}
echo json_encode(['reponse' => $reponse]);
?>[/php]
Le JS (la partie ajax) :
[php]$(document).ready(function() {
$('#form').on('submit', function(e) {
e.preventDefault();
var $this = $(this);
console.log($this.serialize());
$.ajax({
url: $this.attr('action'),
type: $this.attr('method'),
data: $this.serialize(),
dataType: 'json',
success: function(json) {
if(json.reponse) {
send_success();
eraseForm();
} else {
send_error();
}
}
});
});
});[/php]
Je ne sais pas si j'ai utilisé le var_dump de la bonne façon, car je ne trouve rien dans la console (ou alors je ne sais pas chercher)
Merci de ton aide.