PHP script wordt ongevraagd uitgevoerd
ik heb een PHP script ingebouwd in een pagina waarbij een mail wordt verstuurd wanneer alle gegevens zijn ingevuld.
Bij het klikken op de "Registreer" knop wordt er een controle functie aangesproken (controleren) en indien deze geen fouten vindt, dient het php script uitgevoerd te worden.
Nu merk ik dat van zodra de pagina wordt geladen het php script reeds uitgevoerd wordt. Hoe kan dit? Hoe kan ik dit voorkomen?
function controleren() {
var xcontrole = 0;
var mededeling = "";
var xnaam = document.form1.Naam.value;
if (xnaam == "") {
mededeling = mededeling + "- Graag je naam invullen.\n" ;
xcontrole = 1;
}
var xnaam = document.form1.Voornaam.value;
if (xnaam == "") {
mededeling = mededeling + "- Graag je voornaam invullen.\n" ;
xcontrole = 1;
}
var xnaam = document.form1.Adres.value;
if (xnaam == "") {
mededeling = mededeling + "- Graag je adres invullen.\n" ;
xcontrole = 1;
}
var xnaam = document.form1.Woonplaats.value;
if (xnaam == "") {
mededeling = mededeling + "- Graag je woonplaats invullen.\n" ;
xcontrole = 1;
}
var xnaam = document.form1.Land.value;
if (xnaam == "") {
mededeling = mededeling + "- Graag je land invullen.\n" ;
xcontrole = 1;
}
var xnaam = document.form1.Email.value;
if (xnaam == "") {
mededeling = mededeling + "- Graag je e-mail invullen.\n" ;
xcontrole = 1;
}
if (xcontrole == 1){
alert (mededeling);
}
else
{
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$message = "nieuwe Nederlandstalige donateur";
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\src\Exception;
require 'PHPMailer\PHPMailer\src\Exception.php';
require 'PHPMailer\PHPMailer\src\PHPMailer.php';
require 'PHPMailer\PHPMailer\src\SMTP.php';
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "smtp.mijnhostingpartner.nl";
$mail->SMTPAuth = true;
....
$message = "nieuwe Nederlandstalige donateur";
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\src\Exception;
require 'PHPMailer\PHPMailer\src\Exception.php';
require 'PHPMailer\PHPMailer\src\PHPMailer.php';
require 'PHPMailer\PHPMailer\src\SMTP.php';
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "smtp.mijnhostingpartner.nl";
$mail->SMTPAuth = true;
....
Dat lukte toen ook al niet.
https://www.phphulp.nl/php/forum/topic/insert-commando-lukt-niet-via-javascript/90037/
https://www.phphulp.nl/php/forum/topic/query-gebaseerd-op-een-optie-in-een-dropdown-lijst/90653/
En bovendien is enkel validatie in Javascript niet voldoende, want iemand kan Javascript ook gewoon uitschakelen. Je zult allereerst de validatie in PHP moeten uitvoeren, en als die uiteindelijk gepasseerd wordt dan kan je de mail eruit sturen. In het formulier kan je uiteraard optioneel nog validatie in Javascript uitvoeren.
Gewijzigd op 26/07/2020 15:44:42 door - Ariën -