Hoe ook al weer email form html website werkend krijgen?

Status
Niet open voor verdere reacties.
Je ziet wel een reCaptcha logo op je formulier?
 
Hoe ziet de code rond die foutmelding eruit?
 
Code:
<!-- recaptcha -->
<script src="https://www.google.com/recaptcha/api.js?render=<?php echo $siteKey ?>"></script>
<script>
grecaptcha.ready(function() {
  grecaptcha.execute(<?php echo '"'.$siteKey.'"' ?>, {action:"validate_captcha"})
  .then(function(token) { document.getElementById("g-recaptcha-response").value = token; });
});
</script>

het gaat om deze
Code:
grecaptcha.execute(<?php echo '"'.$siteKey.'"' ?>, {action:"validate_captcha"})
ik zie andere voorbeelden zonder de php echo, en ik weet niet of al die ¨" wel goed zijn?
Zet ik mijn key ipv van
Code:
.$siteKey.
dan krijg ik een witte pagina. Met of zonder . ervoor en erna, of met of zonder ''"
 
Laatst bewerkt:
Ik zie die foutmelding daar niet in staan. Kijk even in je PHP-file.
 
bericht is niet verstuurd, geen recaptcha communicatie.
Dus de open key staat niet goed, vandaar mijn vraag over die code.
 
Waar komt die melding vandaan?
Ergens op een bepaald moment geeft PHP die foutmelding door.
 
Laatst bewerkt:
die melding staat boven het formulier, zie mijn screenshot. Nergens anders te zien.
 
Die melding komt niet zomaar uit de lucht vallen. Vooral omdat het Nederlandstalig is moet het uit het script komen (PHP is zelf Engelstalig). :)
Ik heb net even gekeken: Zie mailer.php, daarin staat die foutmelding.

Zet NA deze code:
Code:
	$captResponse = json_decode(file_get_contents($captUrl));
Het volgende neer:
Code:
	echo "<pre>".print_r($captResponse,true)."</pre>";

Ik ben benieuwd wat de ReCaptcha server precies teruggeeft als foutmelding omdat je een FALSE terugkrijgt.
 
ik was weer verdwaald :(

Code:
stdClass Object
(
    [success] => 1
    [challenge_ts] => 2021-09-10T13:22:46Z
    [hostname] => test.example.nl
    [score] => 0.9
    [action] => validate_captcha
)

Komt alleen geen mail binnen
 
Laatst bewerkt door een moderator:
Cursusje PHP:

Een echo bestaat uit een single (') of Double quote ("), en dat vormt de string.
In dit geval als je het ontleedt (ik heb er wat spaties tussen gezet) bestaat de echo uit een single-quote, met daarin een double quote die je wilt echo'en (outputten naar het scherm). De punt wordt gebruikt om variabelen (dit is een variabele $bla) te scheiden van een string.
PHP:
<?php echo ' " '.$siteKey.' " ' ?>

In de HTML-code van je browser kan je zien wat de uitvoer is.
In principe zie ik geen problemen, maar de HTML-code moet het bewijzen.

Kijk vooral even wat ReCaptcha terug stuurt.
 
Laatst bewerkt:
nou, de recaptcha is een succes, de mail komt alleen niet binnen, zie mijn bericht bove die van jou.
Ik hoop echt dat we eruit komen.

En anders heb ik al een andere index.php klaar staan.
 
De captcha werkt blijkbaar nu wel? Die error over de communicatie verschijnt nu niet meer?
En wat zegt de Debug van PHPmailer?
 
De captcha werkt blijkbaar nu wel? Die error over de communicatie verschijnt nu niet meer?

nee, maar de pagina gaat nu wel naar .....nl/index.php
en dan krijg ik die tekst te zien. Mail komt niet binnen.
 
Toch die error in beeld?
Dan klopt de controle niet.

PHP:
	if ($captResponse->{'success'} == false) {
wordt:
PHP:
	if ($captResponse->{'success'} !== 1) {

Dit controleert of 'success' geen 1 is.

Maar wel vreemd, want in mijn eigen code van mijn eigen formulier werkt het wel met false.
Of je hebt iets tussentijds aangepast waardoor de captcha wel werkt? Maar dan zou je de communicatie-error niet moeten zien.

Dus wees a.u.b. zo duidelijk mogelijk en vertel wat er gebeurt en wat je ziet.
 
Toch die error in beeld?
Code:
stdClass Object
(
    [success] => 1
    [challenge_ts] => 2021-09-10T13:22:46Z
    [hostname] => test.example.nl
    [score] => 0.9
    [action] => validate_captcha
)

deze had ik al gepost hoor ;) En ja, er staat een 1.
En ik krijg de mail NIET binnen.

Of je hebt iets tussentijds aangepast waardoor de captcha wel werkt? Maar dan zou je de communicatie-error niet moeten zien.
NEE!!! Zou niet durven!!! (behalve wat je zei in #151)
 
Laatst bewerkt door een moderator:
Vreemd, want succes is een 1, en dat klopt.
Dan is er dus eigenlijk niks mis.

En met deze code dan?
Code:
	if ($captResponse->success == false) {
 
Met succes verzonden!!

Maar, ik geef je een screenshot, ik zie dit op de https://test.example.nl/index.php
moeilijk te zien maar linksboven op de index.php pagina staat dit in het zwart op de dondergrijze achtergrond.
Code:
stdClass Object
(
    [success] => 1
    [challenge_ts] => 2021-09-10T13:47:34Z
    [hostname] => test.example.nl
    [score] => 0.9
    [action] => validate_captcha
)

en boven het contactformulier staat:
Contact ons
Het bericht is met succes verstuurd.

en ja hoor, in mijn mailbox verschijnt de mail!
 
Laatst bewerkt door een moderator:
Zo te zien werkt het dus! :D :D :D
Dan kan die debug-tekst ook weer weg :)
 
Zo te zien werkt het dus! :D :D :D
Dan kan die debug-tekst ook weer weg :)

ja, maar nu even kijken waar die geplaatst is, in de mailer.php of in de mailer-config.php
ik ga eerst eens een frisse neus halen met de honden, daarna maar even kijken waar.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan