Hi!
Here's my code 🙂 :
<?php
ob_start();
if($_POST['submit']=="send") {
$errcount = 0;
$error = "<span style='color:red'>";
//check if someone has filled out a form
//validate name
if(preg_match('/^[a-zæøåÆØÅ_-]{2,}$/i', $_POST['navn'])){
$navn = $_POST['navn'];
}
else {
$error .= "Du skrev ikke inn noe navn!<br />";
$errcount++;
}
//check lastname
//validate lastname
if(preg_match('/^[a-zæøåÆØÅ_-]{2,}$/i', $_POST['etternavn'])){
$etternavn = $_POST['etternavn'];
}
else {
$error .= "Du skrev ikke inn noe etternavn!<br />";
$errcount++;
}
//validate telephonenumber
if(preg_match('/^[0-9_-]{8,}$/i', $_POST['mobil'])){
$mobil = $_POST['mobil'];
}
else {
$error .= "Du skrev ikke inn et korrekt telefonnummer!<br />";
$errcount++;
}
//check correct email
if(preg_match('/^[\w]+[-\w._]*@[\w]+[-\w]+(\.[\w]+[-\w]+)*\.[\w]{2,6}$/ ', $_POST['email'])){
$epost = $_POST['email'];
}
else {
$error .= "Du skrev ikke en gyldig e-mailadresse!<br />";
$errcount++;
}
if (!empty($_POST['melding'])) {
$melding = $_POST['melding'];
}
else {
$error .= "Du skrev ikke noen melding!<br />";
$errcount++;
}
//Check for faults
//if there's a fault, stop the script and preview the following
if ($errcount !=0) {
die("<p style='font-size:16px; font-weight: bold;'>Feil i skjema</p><p>Beklager, det er $errcount feil i skjemaet. Klikk <b>back</b> knappen i browseren for å korrigere feilen.<br /><br />$error </p> <span class='signaturen'>Provided by: Firmname for Firmname as
Copyright©2006. <br />Ved spørsmÃ¥l til disse sidene kontakt: <a href='mailto:my@domain.no' target='_blank'>webmaster</a></span>
<br /><br /><img src='images/webbilder/bottom.gif' alt='logo volvo' style='margin-top: -30px;' />" );
}
else {
$emne = $_POST['emne'];
$mailheaders = "From: " .$navn ." " .$etternavn ." <". $epost . ">\n";
$mailheaders .= "Reply-To: <". $epost . ">\n";
$to = 'my@domain.no';
$melding .= $_POST['melding'];//I put the message at the bottom
$melding = "Fra: $navn $etternavn\nTelefon: $mobil\n\nMelding:\n$melding";
//Send Mail
mail($to, $emne, $melding, $mailheaders,'-fmy@domain.no');
header ("Location: thankyou.htm");
}
}
?>
<form action="ksja.php" method="post" >
<span class="heading" ><img src="images/webbilder/kontaktimage.gif" />
</span><br /><br /><span class="felter">Felter merket * må fylles ut</span><br /><br />
<span class="skjema">Fornavn*</span><br />
<input name="navn" type="text" class="textfelt" size="40" maxlength="40" /><br /><br />
<span class="skjema">Etternavn*</span><br />
<input name="etternavn" type="text" class="textfelt" size="40" maxlength="40" /><br /><br />
<span class="skjema">Telefonnummer*</span><br />
<input name="mobil" type="text" class="textfelt" size="20" maxlength="8" /><br /><br />
<span class="skjema">e-mailaddrese*</span><br />
<input name="email" type="text" class="textfelt" size="40" maxlength="40" /><br /><br />
<span class="skjema">Emne</span><br />
<input name="emne" type="text" class="textfelt" size="40" maxlength="40" /><br /><br />
<span class="skjema">Din melding til oss*</span><br />
<textarea name="melding" cols="70" rows="10" class="textfelt"></textarea> <br /><br />
<input name="submit" type="submit" value="send" />
<input name="reset" type="reset" value="slett" />
</form>
<table class="usedcar">
<tr>
<td><a href="usedcar.htm"><img src="images/webbilder/usedcars.jpg" alt="brukte biler" border="0" /></a></td>
</tr>
</table>
Whenever there is an error in my page (named ksja.php) an errormessage displays in top. The problem is pretty simple... If the user don't push the back button and completes the form only leaving it with the errormessage displaying - my contactpage renders with this errormessage on each and every machine and each and every browser downloading this page...
Pretty frustrating actually. The user can, in other words, make the page look totally different than it's intention by just ignoring to fill out the form correctly... The next viewer downloading my contactpage will never be able to see the contactform - only the errormessage... and so on...
Seem to me that I have to make a timer on how long the scripts errormessage should last, before the page can be downloaded the right way again (with the contactform).. That way, the user can't influence the page, and I maintain the controll :evilgrin: (ya-haaah...)...
I'm no good in php-language so maybe you could help me with that code and where to put it..?
There might be another solution as well, so please don't hesitate in giving me some input here..
Anyone?