Contactformulier werkt niet in IE en Firefox, wel in Chrome
Inmiddels al heel wat gegoogled voor tips om het probleem te verhelpen, maar helaas zonder resultaat. Ik hoop dat iemand de gouden tip heeft om ervoor te zorgen dat het formulier in alle browsers naar behoren werkt. Mijn dank zal groot zijn!
--------------------------------------------
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?php
$your_email ='[email protected]';// <<=== update to your email address
session_start();
$errors = '';
$name = '';
$visitor_email = '';
$user_message = '';
if(isset($_POST['submit']))
{
$name = $_POST['name'];
$visitor_email = $_POST['email'];
$user_message = $_POST['message'];
///------------Do Validations-------------
if(empty($name)||empty($visitor_email))
{
$errors .= "\n Naam en e-mail zijn verplichte invoervelden. ";
}
if(IsInjected($visitor_email))
{
$errors .= "\n U heeft een onjuist e-mailadres ingevoerd!";
}
if(empty($_SESSION['6_letters_code'] ) ||
strcasecmp($_SESSION['6_letters_code'], $_POST['6_letters_code']) != 0)
{
//Note: the captcha code is compared case insensitively.
//if you want case sensitive match, update the check above to
// strcmp()
$errors .= "\n U heeft een verkeerde code ingevoerd!";
}
if(empty($errors))
{
//send the email
$to = $your_email;
$subject="Contactverzoek via website";
$from = $your_email;
$ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
$body = "Onderstaand persoon heeft het contactformulier op de website van KBO Heusden ingevuld:\n".
"Naam: $name\n".
"E-mailadres: $visitor_email \n".
"Bericht: \n ".
"$user_message\n".
"IP: $ip\n";
$headers = "From: $from \r\n";
$headers .= "Reply-To: $visitor_email \r\n";
mail($to, $subject, $body,$headers);
header('Location: verzendbevestiging.html');
}
}
// Function to validate against any email injection attempts
function IsInjected($str)
{
$injections = array('(\n+)',
'(\r+)',
'(\t+)',
'(%0A+)',
'(%0D+)',
'(%08+)',
'(%09+)'
);
$inject = join('|', $injections);
$inject = "/$inject/i";
if(preg_match($inject,$str))
{
return true;
}
else
{
return false;
}
}
?>
$your_email ='[email protected]';// <<=== update to your email address
session_start();
$errors = '';
$name = '';
$visitor_email = '';
$user_message = '';
if(isset($_POST['submit']))
{
$name = $_POST['name'];
$visitor_email = $_POST['email'];
$user_message = $_POST['message'];
///------------Do Validations-------------
if(empty($name)||empty($visitor_email))
{
$errors .= "\n Naam en e-mail zijn verplichte invoervelden. ";
}
if(IsInjected($visitor_email))
{
$errors .= "\n U heeft een onjuist e-mailadres ingevoerd!";
}
if(empty($_SESSION['6_letters_code'] ) ||
strcasecmp($_SESSION['6_letters_code'], $_POST['6_letters_code']) != 0)
{
//Note: the captcha code is compared case insensitively.
//if you want case sensitive match, update the check above to
// strcmp()
$errors .= "\n U heeft een verkeerde code ingevoerd!";
}
if(empty($errors))
{
//send the email
$to = $your_email;
$subject="Contactverzoek via website";
$from = $your_email;
$ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
$body = "Onderstaand persoon heeft het contactformulier op de website van KBO Heusden ingevuld:\n".
"Naam: $name\n".
"E-mailadres: $visitor_email \n".
"Bericht: \n ".
"$user_message\n".
"IP: $ip\n";
$headers = "From: $from \r\n";
$headers .= "Reply-To: $visitor_email \r\n";
mail($to, $subject, $body,$headers);
header('Location: verzendbevestiging.html');
}
}
// Function to validate against any email injection attempts
function IsInjected($str)
{
$injections = array('(\n+)',
'(\r+)',
'(\t+)',
'(%0A+)',
'(%0D+)',
'(%08+)',
'(%09+)'
);
$inject = join('|', $injections);
$inject = "/$inject/i";
if(preg_match($inject,$str))
{
return true;
}
else
{
return false;
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="KBO Heusden is een organisatie die als doel heeft de sociale verbondenheid en onderlinge solidariteit van de Heusdense senioren te stimuleren.">
<meta name="keywords" content="kbo, senioren, ouderen, heusden, hoeksteen, activiteiten, asten, fietsen, bibliotheek, kaarten, rikken, kienen, jeu de boules, biljaren, driebanden, koersbal, ontmoeting, ontspanning, samenleving, ouderenadviseur, belastingaangiftehulp, zorgverzekering, ledenservice, wmo, gymen, linedance, bridge, toneelclub, amiticia, zangkoor, handvaardigheid, lezen, grafdelven, onderhoud schooltuin, onderhoud kerkhof, libre, bandstoten, pentathlon, kerstviering, sinterklaasfeest, zomeravondconcert, dagtocht, uitstapje">
<title>KBO Heusden</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<!-- define some style elements-->
<style>
.err {
font-family : Arial;
font-size : 12px;
color: red;
line-height: 100%;
}
</style>
<!-- a helper script for vaidating the form-->
<script language="JavaScript" src="scripts/gen_validatorv31.js" type="text/javascript"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-29126953-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<div id="main-wrapper-div" class="clearfix">
<!--top and main menu -->
<div id="banner-wrapper-div">
<div id="banner-logo-div"><a href="http://www.kboheusden.nl"><img src="images/blank.gif" border="0" title="Ga naar de beginpagina" alt="Home" height="121" width="294" /></a> </div>
<div id="banner-searchform-div">
<form method="get" action="http://www.kboheusden.nl/fdcgi/search/search.pl" id="searchform">
<input name="Terms" id="fdse_TermsEx" type="text"/>
<input type="submit" value="Zoeken" />
</form>
</div>
<div id="banner-main-menu-div">
<ul class="links">
<li><a href="index.php" title="Home">Home</a></li>
<li><a href="overons.html" title="Over ons">Over ons</a></li>
<li><a href="ledenservice.html" title="Ledenservice">Ledenservice</a></li>
<li><a href="activiteiten.html" title="Activiteiten">Activiteiten</a></li>
<li><a href="uitslagen.html" title="Uitslagen">Uitslagen</a></li>
<li><a href="nieuws.php" title="Nieuws">Nieuws</a></li>
<li><a href="foto's.html" title="Foto's">Foto's</a></li>
<li class="active-trail first active"><a href="contact.html" title="Contact" class="active">Contact</a></li>
</ul>
</div>
</div>
<div id="banner"> <img src="images/imagebanner11.jpg" alt="afbeeldingen KBO Heusden" width="850" height="245" title="KBO Heusden is een actieve vrijwilligersorganisatie voor senioren van 50 jaar en ouder en telt inmiddels ongeveer 400 leden" /></div>
<div id="colleft" style="width:575px; float:left">
<div class="breadcrumbs"><strong>U bevindt zich hier:</strong> <a href="index.php">Home</a> » Contact</div>
<div class="article">
<h1>Neem contact met ons op </h1>
<p>Hebt u vragen of opmerkingen? Vul dan onderstaand contactformulier zo volledig mogelijk in en wij nemen zo spoedig mogelijk contact met u op.</p>
<div id='contact_form_errorloc' class='err'></div>
<form method="POST" name="contact_form"
action="">
<div style="text-align:left; padding-top:20px;">
<label for='name'>Naam: </label>
</div>
<div style="text-align:left;">
<input type="text" name="name" size="30" value=''>
</div>
<div style="text-align:left; padding-top:20px;">
<label for='email'>E-mailadres: </label>
</div>
<div style="text-align:left;">
<input type="text" name="email" size="30" value=''>
</div>
<div style="text-align:left; padding-top:20px;">
<label for='message'>Bericht:</label>
</div>
<div style="text-align:left;">
<textarea name="message" rows=4 cols=40></textarea>
</div>
<div style="text-align:left; padding-top:20px;"><img src="captcha_code_file.php?rand=" id='captchaimg' ></div>
<div style="text-align:left; padding-top:20px;">
<label for='message'>Voer bovenstaande code in:</label>
</div>
<div style="text-align:left;">
<input id="6_letters_code" size="15" name="6_letters_code" type="text">
<br />
<small>Klik <a href='javascript: refreshCaptcha();'>hier</a> om de code te vernieuwen.</small></div>
<div style="text-align:left; padding-top:30px;">
<input type="image" src="images/send.png" name="submit" class="verzendbutton" value="verzenden" border="0"/>
</div>
</form>
</div>
<div class="article_bottom"> </div>
</div>
<!--right column -->
<div class="colright" style="width:250px; float:left; margin-left:10px;">
<div class="top_side">Contact</div>
<div class="content_side"><br />
<p> <strong>Contactgegevens</strong><br />
D'n Hoeksteen<br />
Pastoor Arnoldstraat 2a <br />
5725 AN Heusden (gem. Asten)<br />
Telefoonnummer: 0493-693125 <br />
of 0493-691887 (Leo Leenders)<br />
E-mail: [email protected]<br />
Website: www.kboheusden.nl<br />
Bankrekening: 1036.30.589<br />
<br />
<strong> Adreswijzigingen</strong><br />
U kunt deze doorgeven aan Martin Claassen of via het contactformulier. Wij zorgen er voor dat uw adresgegevens tevens doorgegeven worden aan de bezorger van ONS. <br />
<br />
<strong> Opzeggen lidmaatschap </strong><br />
Voor de opzegging van uw lidmaatschap kunt u contact opnemen met Martin Claassen of het contactformulier hiernaast invullen.</p>
</div>
<div class="bottom_side"> </div>
</div>
<!--footer -->
<div id="footer-wrapper-div">
<div class="footerblock-left">
<h4>KBO HEUSDEN </h4>
<span class="footer"> <a href="bestuur.html">Bestuur</a> <br />
<a href="lidmaatschap.html">(Opzeggen) lidmaatschap</a> <br />
<a href="feiten.html">Feiten en cijfers</a></span> </div>
<div class="footerblock-center">
<h4>LEDENSERVICE</h4>
<span class="footer"> <a href="ouderenadviseurs.html">Ouderenadviseurs</a><br />
</a><a href="belastingaangiftehulp.html">Belastingaangifte</a> <a href="zorgverzekering.html">Zorgverzekering</a><br />
</span> </div>
<div class="footerblock-center2">
<h4>ACTIVITEITEN </h4>
<span class="footer"><a href="sportenbeweging.html">Sport- en bewegingsactiviteiten</a><br />
<a href="spelactiviteiten.html">Spelactiviteiten</a> <br />
<a href="zangentoneel.html">Zang- en toneelactiviteiten</a><br />
<a href="overigeactiviteiten.html">Overige activiteiten</a></span> </div>
<div class="footerblock-right">
<h4> WEBSITE </h4>
<span class="footer"><a href="sitemap.html">Sitemap<br />
</a><a href="disclaimer.html">Disclaimer</a><br />
<a href="contact.html">Contact</a></span> </div>
</div>
</div>
<script language="JavaScript">
// Code for validating the form
// Visit http://www.javascript-coder.com/html-form/javascript-form-validation.phtml
// for details
var frmvalidator = new Validator("contact_form");
//remove the following two lines if you like error message box popups
frmvalidator.EnableOnPageErrorDisplaySingleBox();
frmvalidator.EnableMsgsTogether();
frmvalidator.addValidation("name","req","Vult u alstublieft uw naam in");
frmvalidator.addValidation("email","req","Vult u alstublieft uw e-mailadres in");
frmvalidator.addValidation("email","email","Vult u alstublieft een geldig e-mailadres in");
</script>
<script language='JavaScript' type='text/javascript'>
function refreshCaptcha()
{
var img = document.images['captchaimg'];
img.src = img.src.substring(0,img.src.lastIndexOf("?"))+"?rand="+Math.random()*1000;
}
</script>
</body>
</html>
Wat ik in ieder geval al even gezien heb is dat het formulier in de GET methode verstuurd wordt en dat je in PHP POST variabelen uit leest. Je kunt beter
gebuiken.
Verder is het misschien verstandiger om regel 10 te veranderen in
en dan nog maar eens proberen.
Groet, Frank
Toevoeging op 20/10/2012 19:14:05:
hmmm je hebt twee formulieren op je pagina. één GET en één POST.
action="
Code (php)
1
">
verander dat in:
">
Update: ik heb de aanpassing op regel 10 weer ongedaan gemaakt, waardoor de foutmeldingen niet meer standaard weergegeven worden. Ik weet niet of dit een slimme oplossing is, maar nu werkt alles naar behoren.
Update 2: iets te enthousiast en dus voorbarig geweest: bij bovenstaande 'oplossing' werkt het formulier wel in IE, maar niet in Firefox.
Gewijzigd op 20/10/2012 20:18:46 door Sandra Geenachternaam
kun je misschien een download beschikbaar stellen zodat ik het geheel even in dreamweaver kan zien?
Gewijzigd op 20/10/2012 21:42:13 door Sandra Geenachternaam
Toevoeging op 21/10/2012 00:45:28:
Oke de submit button was een <input type='image'>. onder IE werd de pagina wel herladen maar de post-variabelen kwamen niet aan. met een <inpput type='submit'> was het opgelost. Ik wist wel dat IE niet de beste browser was maar dit had ik niet verwacht. Heeft iemand al eerder hiermee te maken gehad?
gr Frank
Toevoeging op 21/10/2012 11:54:04:
bump
Mijn dank zou groot zijn, dus heb je nog wat plek over in je voortuin, dan laat ik een vrachtwagen langs komen! ;-) Super bedankt!
een vrachtwagen in mijn tuin? Nee bedankt :D
Toevoeging op 22/10/2012 19:33:40:
Oh, dit gaat behoorlijk off topic ;-)