headout
Terugkerende gebruiker
- Lid geworden
- 30 okt 2000
- Berichten
- 2.939
Ik gebruik een php scriptje om een formuliertje makkelijk uit te lezen. Het formuliertje werkt goed, net als het script, aangezien al een stuk of 25 mensen daadwerkelijk gebruik gemaakt hebben van het formuliertje. Bij 3 mensen wordt er een foutmelding vertoond: Error: Invalid Referer
Het formulier staat hier:
http://www.heupdysplasie.nl/index.php?id=donateurs
(voor een ieder die even gaat testen: zet bij opmerkingen even test/helpmij oid)
Heeft iemand enig idee hoe ik dit kan oplossen?
PHP:
<?
// Recipient of message (This can be changed via the form itself)
$recipient = 'ron@heupdysplasie.nl';
// Subject of message (This can be changed via the form itself)
$subject = 'Aanmelden donateur';
// This is a list of domains that can run EZ FormMail. Do not include
// www, just the actual domain/ip address!
$referers = array('heupdysplasie.nl', 'stichtingheupdysplasie.nl');
// This is the page that users will be redirected to after the form is
// processed successfully.
$success_url = 'index.php?id=bedankt';
// Your site URL
$siteurl = 'http://www.heupdysplasie.nl';
###########################################################
# DO NOT EDIT BELOW THIS LINE #
###########################################################
function Print_Footer() {
echo '<p><center>Powered by EZ FormMail. Get it <b>free</b> from <a href="http://www.sensationdesigns.com">[url]http://www.sensationdesigns.com[/url]</a>!</center>';
}
function Check_Referer() {
global $referers;
$temp = explode('/', $_SERVER['HTTP_REFERER']);
$referer = $temp[2];
$found = false;
foreach ($referers as $domain) {
if (stristr($referer, $domain)) { $found = true; }
}
return $found;
}
if ($_POST) {
if (Check_Referer() == false) {
echo '<font size="+1" color="#FF0000">Error: Invalid Referer</font><BR>';
echo 'You are accessing this script from an unauthorized domain!';
Print_Footer();
die();
}
$ctr = 0;
$isrealname = 0;
$isemail = 0;
foreach ($_POST as $key => $val) {
if ($key == 'realname') { $isrealname = 1; }
if ($key == 'email') { $isemail = 1; }
if (substr($key, 0, 4) == 'req_' || $key == 'realname' || $key == 'email') {
if ($val == '') {
if ($ctr == 0) {
echo '<font size="+1" color="#FF0000">Er gaat iets mis: je hebt een (aantal) veld(en) niet ingevuld.</font><BR>';
echo 'De volgende <i>verplichte</i> veld(en) is/zijn niet ingevuld:<BR>';
}
echo '<BR>- <b>'.substr($key, 4).'</b>';
$ctr++;
}
}
}
if ($ctr > 0) {
echo '<p>Klik <a href="javascript:history.go(-1)">hier</a> om terug te gaan';
Print_Footer();
die();
}
else {
if ($isrealname == 0) {
echo '<font size="+1" color="#FF0000">Error: Missing Field</font><BR>';
echo 'No "realname" field found.<p><a href="'.$siteurl.'">here</a> to return to the home page.';
Print_Footer();
die();
}
elseif ($isemail == 0) {
echo '<font size="+1" color="#FF0000">Error: Missing Field</font><BR>';
echo 'No "email" field found.<p><a href="'.$siteurl.'">here</a> to return to the home page.';
Print_Footer();
die();
}
}
if (!(preg_match("/^.{2,}?@.{2,}\./", $_POST['email']))) {
echo '<font size="+1" color="#FF0000">Error: Invalid E-mail</font><BR>';
echo 'The e-mail address you entered (<i>'.$_POST['email'].'</i>) is invalid.';
Print_Footer();
die();
}
$body = "Below is the result of your feedback form. It was submitted on:\n".date('l, F jS, Y').' at '.date('g:ia').".\n";
foreach ($_POST as $key => $val) {
if ($key == 'recipient') { $recipient = $val; }
elseif ($key == 'subject') { $subject = $val; }
else {
if ($key != 'realname' && $key != 'email') {
$body .= "\n".str_replace('req_', '', $key).": $val";
}
}
}
$body .= "\n\n-------- Submission Details --------\n";
$body .= "Remote Address: ".getenv('REMOTE_ADDR')."\n";
$body .= "HTTP User Agent: ".getenv('HTTP_USER_AGENT')."\n\n";
$body .= "--------------------------------------------------\n";
$body .= "Powered by EZ FormMail. Available at [url]http://www.sensationdesigns.com[/url]!";
$mailheaders = "From: ".$_POST['realname']." <".$_POST['email'].">\n";
$mailheaders .= "Reply-To: ".$_POST['email'];
mail($recipient, $subject, $body, $mailheaders);
header("Location: $success_url");
}
else {
echo '<center>You have access this page from an invalid location. Please click <a href="'.$siteurl.'">here</a> to go to '.$siteurl.'.</center>';
}
Print_Footer();
?>
Het formulier staat hier:
http://www.heupdysplasie.nl/index.php?id=donateurs
(voor een ieder die even gaat testen: zet bij opmerkingen even test/helpmij oid)
Heeft iemand enig idee hoe ik dit kan oplossen?