af ballegaarden » tors feb 04, 2010 10:20
Her er koden som den ser ud nu og inden jeg slettede den med spamfælden, gav den også fejl i denne linje.
Nu er det kun kopi feltet det er galt med.
Hvordan skulle denne spamfælde virke, der er jo ikke lagt et felt ind til den.
Du kan prøve denne side hvis du prøver at sende en test på:
http://www.ballegaarden.com/kontakt.html<?php
$hjemmeside = "www.ballegaarden.com";
$mail = "
[email protected]";
$afsendermail = "
[email protected]";
$viderestil = "http://ballegaarden.com/svar-besked.html";
/* Her hentes oplysningerne fra de udfyldte felter */
$navn = $_REQUEST['navn'];
$email = $_REQUEST['email'];
$epost = $_REQUEST['epost'];
$besked = $_REQUEST['besked'];
$kopi = $_REQUEST['kopi'];
$emne = $_REQUEST['emne'];
/* Her tjekkes, om der er forbudte tegn i felterne */
if(strpos($navn,'@')!==false || strpos($epost,'\\')!==false || strpos($emne,'\\')!==false || strpos($navn,'\\')!==false)
{
echo "Formularen er ikke udfyldt korrekt, tryk på tilbage-knappen og prøv igen. Tjek, at du har skrevet din mail-adresse korrekt, og at du har skrevet den i det rigtige felt. Der må ikke være baglæns skråstreger (\) i felterne.";
exit();
}
/* Her tjekkes, om afsenderen har indtastet sin mail-adresse, og i så fald bruges den som afsendeeradresse, så der kan svares på mailen */
if(!empty($epost)) {
$headers="From: $navn <$epost>\r\n";
}
else {
$headers="From: Kontaktformular <$afsendermail>\r\n";
}
/* Her indsættes din mailadresse, så afsenderen kan svare på kopimailen */
$formularheaders="From: $hjemmeside <$afsendermail>\r\n";
/* Her samles afsenderens navn, mailadresse og besked i en enkelt variabel */
$oplysninger="Følgende er sendt via kontaktformularen på $hjemmeside:\r\n\r\nNavn: $navn\r\nE-mail: $epost\r\nBesked:\r\n$besked";
/* Her samles oplysningerne til afsenderens kopi af mailen */
$kopimail="Hej $navn\r\nDu har sendt følgende via kontaktformularen på $hjemmeside:\r\n$besked";
if ($kopi > '') {
/* Her sendes til modtageradressen */
mail($mail, $emne, $oplysninger, $headers);
/* Her sendes en kopimail til afsenderen */
mail($epost, $emne, $kopimail, $formularheaders);
}
else {
/* Her sendes mailen til modtageradressen */
mail($mail, $emne, $oplysninger, $headers);
}
/* Når mailen er sendt, viderestilles til denne hjemmeside */
header( "Location: $viderestil" );
?>
Her er koden som den ser ud nu og inden jeg slettede den med spamfælden, gav den også fejl i denne linje.
Nu er det kun kopi feltet det er galt med.
Hvordan skulle denne spamfælde virke, der er jo ikke lagt et felt ind til den.
Du kan prøve denne side hvis du prøver at sende en test på: http://www.ballegaarden.com/kontakt.html
<?php
$hjemmeside = "www.ballegaarden.com";
$mail = "
[email protected]";
$afsendermail = "
[email protected]";
$viderestil = "http://ballegaarden.com/svar-besked.html";
/* Her hentes oplysningerne fra de udfyldte felter */
$navn = $_REQUEST['navn'];
$email = $_REQUEST['email'];
$epost = $_REQUEST['epost'];
$besked = $_REQUEST['besked'];
$kopi = $_REQUEST['kopi'];
$emne = $_REQUEST['emne'];
/* Her tjekkes, om der er forbudte tegn i felterne */
if(strpos($navn,'@')!==false || strpos($epost,'\\')!==false || strpos($emne,'\\')!==false || strpos($navn,'\\')!==false)
{
echo "Formularen er ikke udfyldt korrekt, tryk på tilbage-knappen og prøv igen. Tjek, at du har skrevet din mail-adresse korrekt, og at du har skrevet den i det rigtige felt. Der må ikke være baglæns skråstreger (\) i felterne.";
exit();
}
/* Her tjekkes, om afsenderen har indtastet sin mail-adresse, og i så fald bruges den som afsendeeradresse, så der kan svares på mailen */
if(!empty($epost)) {
$headers="From: $navn <$epost>\r\n";
}
else {
$headers="From: Kontaktformular <$afsendermail>\r\n";
}
/* Her indsættes din mailadresse, så afsenderen kan svare på kopimailen */
$formularheaders="From: $hjemmeside <$afsendermail>\r\n";
/* Her samles afsenderens navn, mailadresse og besked i en enkelt variabel */
$oplysninger="Følgende er sendt via kontaktformularen på $hjemmeside:\r\n\r\nNavn: $navn\r\nE-mail: $epost\r\nBesked:\r\n$besked";
/* Her samles oplysningerne til afsenderens kopi af mailen */
$kopimail="Hej $navn\r\nDu har sendt følgende via kontaktformularen på $hjemmeside:\r\n$besked";
if ($kopi > '') {
/* Her sendes til modtageradressen */
mail($mail, $emne, $oplysninger, $headers);
/* Her sendes en kopimail til afsenderen */
mail($epost, $emne, $kopimail, $formularheaders);
}
else {
/* Her sendes mailen til modtageradressen */
mail($mail, $emne, $oplysninger, $headers);
}
/* Når mailen er sendt, viderestilles til denne hjemmeside */
header( "Location: $viderestil" );
?>