Hej
Jeg sidder med en formular som når brugeren klikker "send", og alt er udfyldt korrekt, giver brugeren en bekræftelse på skærmen. Men jeg vil også gerne have at brugeren efter 6 sekunder bliver sendt videre til en anden URL. Men KUN hvis alt er som det skal være.
Jeg håber det giver mening :-)
Her er mit script:
<?php
/* Redirect replies from spampots to other page */
if (trim($_POST['email']) != '') {
header ("Location: spambot.html");
exit();
}
?>
<!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=utf-8" />
<title>sender</title>
</head>
<body>
<?php
/* Check if they accept, or we ignore the whole procedure */
if (!isset($_POST['betingelser']) || $_POST['betingelser'] != '0110') {
print "<p>Du har ikke accepteret de generelle betingelser!</p>\n";
}
/* Probably not spam, continue */
else if (trim($_POST['email']) == '') {
$aOK = true;
$errorArray = array();
/* tjek, at der er skrevet et Navn */
if (!isset($_POST['navn']) || trim($_POST['navn']) == '') {
$aOK = false;
$errorArray[] = 'Navn';
}
/* tjek, at der er skrevet en Adresse */
if (!isset($_POST['adresse']) || trim($_POST['adresse']) == '') {
$aOK = false;
$errorArray[] = 'Adresse';
}
/* tjek, at der er skrevet et Post nr */
if (!isset($_POST['postnr']) || trim($_POST['postnr']) == '') {
$aOK = false;
$errorArray[] = 'Post nr.';
}
/* tjek, at der er skrevet en By */
if (!isset($_POST['by']) || trim($_POST['by']) == '') {
$aOK = false;
$errorArray[] = 'By';
}
/* tjek, at der er skrevet et Telefonnummer */
if (!isset($_POST['telefon']) || trim($_POST['telefon']) == '') {
$aOK = false;
$errorArray[] = 'Telefon';
}
/* tjek, at der er skrevet en E-mail adresse */
if (!isset($_POST['liame']) || trim($_POST['liame']) == '') {
$aOK = false;
$errorArray[] = 'E-mail';
}
/* tjek, at der er skrevet en startdato */
if (!isset($_POST['startdato']) || trim($_POST['startdato']) == '') {
$aOK = false;
$errorArray[] = 'Startdato';
}
/* tjek, at der er skrevet en slutdato */
if (!isset($_POST['slutdato']) || trim($_POST['slutdato']) == '') {
$aOK = false;
$errorArray[] = 'Slutdato';
}
/* tjek, at der er skrevet et startsted */
if (!isset($_POST['startsted']) || trim($_POST['startsted']) == '') {
$aOK = false;
$errorArray[] = 'Startsted';
}
/* tjek, at der er skrevet et slutsted */
if (!isset($_POST['slutsted']) || trim($_POST['slutsted']) == '') {
$aOK = false;
$errorArray[] = 'Slutsted';
}
/* tjek, at der er valgt antal kanoer */
if (!isset($_POST['antal_kanoer']) || trim($_POST['antal_kanoer']) == '') {
$aOK = false;
$errorArray[] = 'Antal_kanoer';
}
/* tjek, at der er valgt antal personer */
if (!isset($_POST['antal_personer']) || trim($_POST['antal_personer']) == '') {
$aOK = false;
$errorArray[] = 'Antal_personer';
}
/* --- her følger sikringen mod spambotter --- */
/* tjek, at dit domæne ikke er skrevet i feltet "navn" */
if (strpos($_POST['navn'], "kanoferie.dk") !== false) {
$aOK = false;
}
/* tjek, at dit domæne ikke er skrevet i feltet "email" */
if (strpos($_POST['liame'], "kanoferie.dk") !== false) {
$aOK = false;
}
/* tjek, at der ikke er et @ i "navn" */
if (strpos($_POST['navn'], "@") !== false) {
$aOK = false;
}
/* tjek, at der ikke er "vogn-retur" i "navn" */
if (eregi("\r", $_POST['navn']) !== false) {
$aOK = false;
}
/* tjek, at der ikke er "linjeskift" i "navn" */
if (eregi("\n", $_POST['navn']) !== false) {
$aOK = false;
}
/* tjek, at der ikke er "vogn-retur" i "email" */
if (eregi("\r", $_POST['liame']) !== false) {
$aOK = false;
}
/* tjek, at der ikke er "linjeskift" i "email" */
if (eregi("\n", $_POST['liame']) !== false) {
$aOK = false;
}
/* er alt OK, fortsættes med afsendelse af mailen */
if ($aOK) {
$headers = "From: ".$_POST['navn']."<".$_POST['liame'].">";
$body = "Den ".date("d/m Y")." kl. ".date("G:i")." sendte ".$_POST['navn']." denne bestilling :\r\n\r\n";
foreach ($_POST as $key => $value) {
switch ($key) {
case 'email':
case 'betingelser':
/* We ignore content for spamfilter and betingelser */
break;
case 'liame':
/* Rewrite email field to look right */
$body .= "email = ".utf8_decode($value)."\r\n";
break;
default:
$body .= $key." = ".utf8_decode($value)."\r\n";
break;
}
}
if (@mail("Firmanavn <min@mail.dk>", "Bestilling", stripslashes(strip_tags($body)), $headers)) {
print "<p>Mange tak for din bestilling. Bemærk at din booking ikke er gennemført, før du modtager en bekræftelse fra os pr. mail.</p>";
}
else {
print "<p>Bestillingen blev IKKE sendt. Der skete en fejl. Prøv venligst igen!</p>";
}
}
else {
print "<p>Mailen kunne ikke sendes, et eller flere felter er muligvis ikke udfyldt korrekt!</p>\n";
if (count($errorArray) > 0) {
print "<p>Følgende felter manglede at blive udfyldt :</p>\n<ul>";
foreach ($errorArray as $fieldName) {
print "<li>".$fieldName."</li>";
}
print "</ul>\n";
}
}
}
?>
</body>
</html>