ReCaptcha et PHP
Fermé
valttt
Messages postés
279
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
27 octobre 2024
-
Modifié le 22 avril 2017 à 23:38
valttt Messages postés 279 Date d'inscription mercredi 7 mars 2012 Statut Membre Dernière intervention 27 octobre 2024 - 2 mai 2017 à 13:12
valttt Messages postés 279 Date d'inscription mercredi 7 mars 2012 Statut Membre Dernière intervention 27 octobre 2024 - 2 mai 2017 à 13:12
A voir également:
- Merci de cocher le captcha
- Easy php - Télécharger - Divers Web & Internet
- Bouton php - Forum PHP
- \R php ✓ - Forum PHP
- Protection par recaptcha - Forum Réseaux sociaux
- Php?id=1 - Forum PHP
24 réponses
valttt
Messages postés
279
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
27 octobre 2024
16
2 mai 2017 à 11:45
2 mai 2017 à 11:45
$(function() {
$("input,textarea").jqBootstrapValidation({
preventSubmit: true,
submitError: function($form, event, errors) {
// additional error messages or events
},
submitSuccess: function($form, event) {
// Prevent spam click and default submit behaviour
$("#btnSubmit").attr("disabled", true);
event.preventDefault();
// get values from FORM
var sex = $("select#sex").val();
var name = $("input#name").val();
var email = $("input#email").val();
var message = $("textarea#message").val();
var phone = $("input#phone").val();
$.ajax({
url: "././mail/mail.php",
type: "POST",
data: {
name: name,
email: email,
message: message,
phone: phone,
sex: sex
},
cache: false,
success: function() {
// Enable button & show success message
$("#btnSubmit").attr("disabled", false);
$('#success').html("<div class='alert alert-success'>");
$('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
.append("</button>");
$('#success > .alert-success')
.append("<strong>Votre message a bien été envoyé. Je reviendrai vers vous dans les plus brefs délais.</strong>");
$('#success > .alert-success')
.append('</div>');
//clear all fields
$('#contactForm').trigger("reset");
},
error: function() {
// Fail message
$('#success').html("<div class='alert alert-danger'>");
$('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×")
.append("</button>");
$('#success > .alert-danger').append("<strong>Désolé " + name + ", on dirait que le serveur mail ne répond pas... :( Veuillez réessayer plus tard.");
$('#success > .alert-danger').append('</div>');
//clear all fields
$('#contactForm').trigger("reset");
},
})
},
filter: function() {
return $(this).is(":visible");
},
});
$("a[data-toggle=\"tab\"]").click(function(e) {
e.preventDefault();
$(this).tab("show");
});
});
valttt
Messages postés
279
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
27 octobre 2024
16
Modifié le 2 mai 2017 à 12:38
Modifié le 2 mai 2017 à 12:38
Je ne vois pas de différence entre les 2 premiers codes
$recaptcha = !empty($_POST['g-recaptcha-response']) ? $_POST['g-recaptcha-response'] : NULL;.
jordane45
Messages postés
38326
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2024
4 712
2 mai 2017 à 12:43
2 mai 2017 à 12:43
Ancien!
Nouveau
$recaptcha = !empty($_POST['g-recaptcha-response']) ? $_POST['g-recaptcha-response'] : NULL;
Nouveau
$recaptcha = !empty($_POST['grecaptcharesponse']) ? $_POST['grecaptcharesponse'] : NULL;
valttt
Messages postés
279
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
27 octobre 2024
16
Modifié le 2 mai 2017 à 12:53
Modifié le 2 mai 2017 à 12:53
J'ai la réponse suivante, et toujours pas de mail reçu :
POST :
Array
(
[sex] => Mm
[name] => aqzs
[email] => aqzs@free.fr
[phone] => 0231456987
[g-recaptcha-response] => 03AIezHSbN9xwNYIbLey0so3VPqc-sDKsdFDzevxEB_PkajfBwANZ1UqBsfzax67jkuArze2-Br5PzrXIRbGqDqNElXTDqL6xI0RQLpG9ImwrhP6AGUacYdrjHJ7ASVCH59HgNOPSoHm6Tp88zuO586vpU4EPoAmAhfH1MikqoNcp6UxW721K_ZIaCvqcwexdapixv06DSC4qG_uHQ9KbTGOUgh48vcBsF69Hi9v6dfc89ksiUw9UIGp88Kbd8A74Ps-1hUzRMxeJxkRZu8iigUc8qunIadtljbeOux2Fzg3QCoTw_zOvSCTANqJLJ9em8TxXqGcGNalKs
[message] => aqzs
)
recaptcha est vide !
Notice: Undefined variable: result in /htdocs/mail/mail.php on line 68
POST :
Array
(
[sex] => Mm
[name] => aqzs
[email] => aqzs@free.fr
[phone] => 0231456987
[g-recaptcha-response] => 03AIezHSbN9xwNYIbLey0so3VPqc-sDKsdFDzevxEB_PkajfBwANZ1UqBsfzax67jkuArze2-Br5PzrXIRbGqDqNElXTDqL6xI0RQLpG9ImwrhP6AGUacYdrjHJ7ASVCH59HgNOPSoHm6Tp88zuO586vpU4EPoAmAhfH1MikqoNcp6UxW721K_ZIaCvqcwexdapixv06DSC4qG_uHQ9KbTGOUgh48vcBsF69Hi9v6dfc89ksiUw9UIGp88Kbd8A74Ps-1hUzRMxeJxkRZu8iigUc8qunIadtljbeOux2Fzg3QCoTw_zOvSCTANqJLJ9em8TxXqGcGNalKs
[message] => aqzs
)
recaptcha est vide !
Notice: Undefined variable: result in /htdocs/mail/mail.php on line 68
jordane45
Messages postés
38326
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 décembre 2024
4 712
2 mai 2017 à 12:57
2 mai 2017 à 12:57
Tu as cette réponse où ça ?
Peux tu nous dire ce qui s'affiche dans la console de ton navigateur ?
Puis une petite correction du code php :
Peux tu nous dire ce qui s'affiche dans la console de ton navigateur ?
Puis une petite correction du code php :
<?php //------------------------------------------------------------------ //activation affichage des erreurs //------------------------------------------------------------------ error_reporting(E_ALL); ini_set('display-errors','on'); //------------------------------------------------------------------ //le temps des tests: //affichage des variables POST //------------------------------------------------------------------ echo "<pre> POST :<br>"; print_r($_POST); echo "</pre>"; //------------------------------------------------------------------ //récupération PROPRE des variables AVANT de les utiliser //------------------------------------------------------------------ $name = !empty($_POST['name']) ? $_POST['name'] : NULL; $email_address = !empty($_POST['email']) && filter_var($_POST['email'],FILTER_VALIDATE_EMAIL) ? $_POST['email'] : NULL; $message = !empty($_POST['message']) ? $_POST['message'] : NULL; $phone = !empty($_POST['phone']) ? $_POST['phone'] : NULL; $sex = !empty($_POST['sex']) ? $_POST['sex'] : NULL; $recaptcha = !empty($_POST['grecaptcharesponse']) ? $_POST['grecaptcharesponse'] : (!empty($_POST['g-recaptcha-response']) ? $_POST['g-recaptcha-response'] : NULL); if(!$name ||!$email_address || !$message || !$phone || !$sex){ echo "Pas de données envoyées!"; $result = false; } //------------------------------------------------------------------ // Traitement du formulaire //------------------------------------------------------------------ $result = ""; if($recaptcha){ //your site secret key $secret = 'ma clé secrète'; //get verify response data $verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$recaptcha); $responseData = json_decode($verifyResponse); //pour tester : print_r($responseData); if($responseData->success){ //Envoi du mail $to = 'Mon adresse mail'; $email_subject = "Site web"; $email_body = "Site web.\n\n$sex $name\n\nEmail: $email_address\n\nTéléphone: $phone\n\nMessage:\n$message"; $headers = "From: robot@adresse de mon site web\n"; if(mail($to,$email_subject,$email_body,$headers)){ echo "email envoyé"; $result = true; }else{ echo "Erreur lors de l'envoie de l'email "; $result = false; } }else{ echo "Merci de cocher la case."; $result = false; } }else{ echo " recaptcha est vide !"; } return $result; ?>
valttt
Messages postés
279
Date d'inscription
mercredi 7 mars 2012
Statut
Membre
Dernière intervention
27 octobre 2024
16
Modifié le 2 mai 2017 à 13:29
Modifié le 2 mai 2017 à 13:29
Je commence par le début:
J'ai tout modifier comme demandé.
Après avoir envoyer le mail, j'ai le code source (remplacement de la page formulaire par une page blanche avec des infos):
J'ai tout modifier comme demandé.
Après avoir envoyer le mail, j'ai le code source (remplacement de la page formulaire par une page blanche avec des infos):
<html><head><link rel="stylesheet" type="text/css" href="moz-extension://eae674a8-10f2-40b3-acdf-aa155024fb8e/skin/socialwidgets.css"></head><body><pre> POST :<br>Array
(
[sex] => Melle
[name] => aqzsed
[email] => aqzsed@free.fr
[phone] => 0987456321
[g-recaptcha-response] => 03AIezHSZbykT_f01_s54Sde1KWmUoUs22H9TqPo5HqldMCD8xGf55sFshx-DtAAhPuY52ofZAhQ6Bx9_7QlIIDNFdgk8xCyhA9uaL_MWiXlqORC1XcqvUOsyVQ8MO7duPio-rnb2fkiYpV6N_IT8IuhtdNmXKMEkx1OnJirqeLIPwcK7uzeI3IJDjk2Z6LgCo_hl6IWYTi-e_kHdEYSB_IVZbfccAKlqA-SjURqyIEZj2rIx6-OAU0usvSevYSNLodxsv9BWQE_xH9fcCqsF4gkBFAwVdkaFyi48RGo9Q2m7LWPGaxEcsmxQZIOI-d--2nG1aOs4ZXVSz
[message] => 9876543210
)
</pre><br>
<b>Warning</b>: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in <b>/htdocs/mail/mail.php</b> on line <b>40</b><br>
<br>
<b>Warning</b>: file_get_contents(http://www.google.com/... failed to open stream: no suitable wrapper could be found in <b>/htdocs/mail/mail.php</b> on line <b>40</b><br>
<br>
<b>Notice</b>: Trying to get property of non-object in <b>/htdocs/mail/mail.php</b> on line <b>46</b><br>
Merci de cocher la case.</body></html>
Modifié le 2 mai 2017 à 12:44
Donc, dans le code php que je t'ai donné...
commence par modifier la ligne :
par
Puis dans ton js :
Ensuite, affiche la CONSOLE de ton navigateur et valide ton formulaire puis dis nous ce qui s'affiche dans la console.
EDIT : correction du php (erreur de copier/coller)
2 mai 2017 à 12:01
2 mai 2017 à 12:33
2 mai 2017 à 12:36
2 mai 2017 à 12:42
Merci encore...