PHP script wordt ongevraagd uitgevoerd
Hallo,
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
{
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;
....
7 Jaar geleden probeerde je ook al PHP code in JavaScript te laten uitvoeren.
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/
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/
PHP wordt als eerste door de server uitgevoerd, en daarna wordt Javascript door de browser uitgevoerd. Beiden hebben geen weet van elkaar.
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.
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 -
Hier een eenvoudig voorbeeld hoe het kan :
https://phppot.com/jquery/php-contact-form-with-jquery-ajax/
https://phppot.com/jquery/php-contact-form-with-jquery-ajax/




