Om nu een formulier (bijv. contact) te verzend gebruik ik een script die alleen alle variabelen binnen een field bij elkaar in een email stopt, en daarna als het goed is direct naar de aangegeven pagina. Het script ziet er als volgt uit:
Er gebeurd nu alleen geen validatie. Hoe zorg ik er voor dat dit script kijkt of bijv. Email adres en naam zijn ingevuld en, als dit niet het geval is, hij het formulier niet verzend en en mooie melding geeft dat er nog vakken moet worden ingevuld.
Plus als alles wel klopt, hoe krijg ik dit script dan zo ver dat er een kleine pop-up ofzo op de pagina komt met "uw email is verzonden". Met het huidige script wordt en alleen een optie gegeven om te redirecten. Je kan dus wel een pagina maken met erop "uw email is verzonden". Het probleem is dat elke pagina waar ik nu mee bezig heeft een optie heeft om aan te melden voor een nieuwsbrief. Dus dat zou beteken dat ik voor elke pagina een nieuwe script moet maken.
Wie kan mij helpen met het opstellen van bovenstaande script?
Groeten
PHP:
<?PHP
################ Instellingen van het script ###############################
## stuur het mailtje naar het volgende adres
$to="info@voordeligslapen.nl";
## van als u hier het email-adres van de verzender wilt hebben, zet dan in het formulier
## <input type="text" name="from" value=""> , en haal de onderstaande regel weg.
$subject = "Aanmelding Nieuwsbrief";
## indien het mailtje verstuurd is ga dan naar de volgende pagina:
$redirect = "index.html";
## indien het mailtje niet verstuurd is ga dan naar de volgende pagina:
$mailfout = "index.html";
## De eerste regels het mailtje
$mailbody = "Aanmelding Nieuwsbrief \r\n\r\n";
## stuur mail in 1 regel 0=nee (met veldnamen) / 1=ja (naam;adres;plaats;)
$soort = "0"; //
## zet onderaan het mailtje de gegevens van de verzender 0=nee / 1=ja
$userinfo = "0";
## gebruik vanaf de pagina <form action="sendcontact.php" >
############### Hier onder begint het script ################################
############### Hier niets wijzigen #########################################
if (trim($from=="")) { $from=$from; }
//$request = 'HTTP_' . getenv('REQUEST_METHOD') . '_VARS';
if(count($_POST) > 0) {
while(list($key, $val) = each($_POST)){
if ($soort=="0"){ $mailbody .= $key . ': ' . $val . "\r\n"; }else{ $mailbody .= $val . ";"; }
}
$mailbody .= "\r\n";
}
if ($userinfo =="1"){
$mailbody.="\r\n\r\n";
$mailbody.="Remote host:".htmlspecialchars($REMOTE_HOST)."\r\n";
$mailbody.="Remote User:".htmlspecialchars($REMOTE_ADDR)."\r\n";
$mailbody.="User Agent:".htmlspecialchars($HTTP_USER_AGENT)."\r\n";
}
$from=eregi_replace("\n","",$from);
$from=eregi_replace("\r","",$from);
$mail_header = "from: " . $_POST['email'];
$mail_header .= "\n";
$mail_header .= "X-Priority: 3\n";
$mail_header .= "X-Mailer: php-today\n";
$mail_status = mail($to, $subject, $mailbody, $mail_header);
if($mail_status){
header('Location: ' . $redirect . "\r\n");
}else{
header('Location: ' . $mailfout . "\r\n");
}
?>
Er gebeurd nu alleen geen validatie. Hoe zorg ik er voor dat dit script kijkt of bijv. Email adres en naam zijn ingevuld en, als dit niet het geval is, hij het formulier niet verzend en en mooie melding geeft dat er nog vakken moet worden ingevuld.
Plus als alles wel klopt, hoe krijg ik dit script dan zo ver dat er een kleine pop-up ofzo op de pagina komt met "uw email is verzonden". Met het huidige script wordt en alleen een optie gegeven om te redirecten. Je kan dus wel een pagina maken met erop "uw email is verzonden". Het probleem is dat elke pagina waar ik nu mee bezig heeft een optie heeft om aan te melden voor een nieuwsbrief. Dus dat zou beteken dat ik voor elke pagina een nieuwe script moet maken.
Wie kan mij helpen met het opstellen van bovenstaande script?
Groeten