Ik heb een script waarbij de foutmelding en het bericht dat formulier is verstuurd weergegeven wordt in een nieuw venster, dus niet op dezelfde pagina als het formulier?
Door het formulier op de contactpagina in een iframe neer te zetten komen de meldingen (foutmelding en verzendmelding) ook op dezelfde pagina, dus dit is hoe ik het graag zou willen hebben, maar nu komt het....
Er staat onder de foutmeldings berichten "Ga aub terug om de velden correct in te vullen". Nu zou ik graag op deze plaats ook een button terug (zoals submit) willen hebben dat men hier op drukt om terug naar het formulier te gaan.
Zou ook mooi zijn als hij vanzelf redirect naar de contactpagina (met hierin de iframe) na de melding "Bedankt voor uw bericht. U krijgt zo spoedig mogelijk een reactie."?
Hoe kan ik deze twee dingen voor elkaar kijgen...?
Hieronder het formulier en script:
Formulier:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Contactformulier script</title>
</head>
<body>
<form name="contactform" method="post" action="verzenden2.php">
<table width="400" align="left">
</tr>
<tr>
<td height="27" valign="top">
<label for="first_name">Voornaam:*</label> </td>
<td height="27" valign="top">
<input name="first_name" type="text" class="velden" size="30" maxlength="50"> </td>
</tr>
<tr>
<td height="27" valign="top"">
<label for="last_name">Achternaam:*</label> </td>
<td height="27" valign="top">
<input name="last_name" type="text" class="velden" size="30" maxlength="50"> </td>
</tr>
<tr>
<td height="27" valign="top">
<label for="email">E-mailadres:*</label> </td>
<td height="27" valign="top">
<input name="email" type="text" class="velden" size="30" maxlength="80"> </td>
</tr>
<tr>
<td height="27" valign="top">
<label for="telephone">Telefoonnummer:</label> </td>
<td height="27" valign="top">
<input name="telephone" type="text" class="velden" size="30" maxlength="30"> </td>
</tr>
<tr>
<td height="27" valign="top">
<label for="comments">Bericht:*</label> </td>
<td height="27" valign="top">
<textarea name="comments" cols="25" rows="6" class="velden" maxlength="1000"></textarea> </td>
</tr>
<tr>
<td height="27"><input name="submit" type="submit" class="verzend" value="Verzenden" /> * = verplicht invulveld!</td>
</tr>
</table>
</form>
</body>
</html>
Script:
<?php
#**********************************************
# Contact Formulier
#**********************************************
if(isset($_POST['email'])) {
// Pas deze twee regels aan.
$email_to = "mijn e-mail adres";
$email_subject = "Bericht van een bezoeker";
function died($error) {
// je foutbericht staat hier
echo "Het spijt ons, vanwege een fout is het formulier niet verzonden. ";
echo "Deze fout(en) tonen zich hieronder.<br /><br />";
echo $error."<br /><br />";
echo "Ga aub terug om de velden correct in te vullen.<br /><br />";
die();
}
// validation expected data exists
if(!isset($_POST['first_name']) ||
!isset($_POST['last_name']) ||
!isset($_POST['email']) ||
!isset($_POST['comments'])) {
died('Het spijt ons, er is een probleem opgetreden bij het verzenden van het formulier.');
}
$first_name = $_POST['first_name']; // verplicht
$last_name = $_POST['last_name']; // verplicht
$email_from = $_POST['email']; // verplicht
$comments = $_POST['comments']; // verplicht
$error_message = "";
$email_exp = "^[A-Z0-9._%-]+@[A-Z0-9.-]+.[A-Z]{2,4}$";
if(!eregi($email_exp,$email_from)) {
$error_message .= 'Het emailadres is niet geldig.<br />';
}
$string_exp = "^[a-z .'-]+$";
if(!eregi($string_exp,$first_name)) {
$error_message .= 'De voornaam is niet geldig.<br />';
}
if(!eregi($string_exp,$last_name)) {
$error_message .= 'De achternaam is niet geldig.<br />';
}
if(strlen($comments) < 2) {
$error_message .= 'Het bericht is niet geldig.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Gegevens formulier.nn";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "Voornaam: ".clean_string($first_name)."n";
$email_message .= "Achternaam: ".clean_string($last_name)."n";
$email_message .= "Email: ".clean_string($email_from)."n";
$email_message .= "Telefoon: ".clean_string($telephone)."n";
$email_message .= "Bericht: ".clean_string($comments)."n";
// create email headers
$headers = 'From: '.$email_from."rn".
'Reply-To: '.$email_from."rn" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
Bedankt voor uw bericht. U krijgt zo spoedig mogelijk een reactie.
<?
}
?>