Tags:
programmering
Hej med jer.
Er der nogle der kan hjælpe mig med at få nedenstående php kode til at virke.
Den skal bruges til en formmail.
---------------------------------
Det php-script, der behandler det indtastede i formularen og sender det til modtageren (dig), indsætter du i body på en side, du kalder sender.php:
<?php
if (isset($_POST['submit']))
{
if (!empty($_POST['name']) && // tjek, at der er skrevet et navn
!empty($_POST['email']) && // tjek, at der er skrevet en e-mail-adresse
!empty($_POST['subject']) && // tjek, at der er skrevet et subject
!empty($_POST['message']) && // tjek, at der er skrevet en besked
// her følger sikringen mod spambotter
!strpos($_POST['name'], "dit_domain.dk") && // tjek, at dit domæne ikke er skrevet i feltet "navn"
!strpos($_POST['email'], "dit_domain.dk") && // tjek, at dit domæne ikke er skrevet i feltet "email"
!strpos($_POST['name'], "@") && // tjek, at der ikke er et @ i "navn"
!eregi("\\r",$_POST['name']) && // tjek, at der ikke er "vogn-retur" i "navn"
!eregi("\\n",$_POST['name']) && // tjek, at der ikke er "linjeskift" i "navn"
!eregi("\\r",$_POST['email']) && // tjek, at der ikke er "vogn-retur" i "email"
!eregi("\\n",$_POST['email'])) // tjek, at der ikke er "linjeskift" i "email"
// er alt ok, fortsættes med afsendelse af mailen
{
$headers="From: ".$_POST['name']."<".$_POST['email'].">";
if (@$_POST['customer_copy'])
{
$headers .= "\\r\\nBcc: ".$_POST['email'];
}
if (@mail("dit.navn@dit_domain.dk", strip_tags($_POST['subject']),
stripslashes(strip_tags($_POST['message'])), $headers))
{
echo "<p>Tak for din henvendelse. Jeg svarer så hurtigt som muligt.</p>";
}
else
{
echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
}
}
else
{
echo "<p>Mailen kunne ikke sendes, alle felter skal udfyldes korrekt!</p>";
}
}
?>
De kodelinjer, hvor der i kommentaret står "Tjek, at dit domæne ..." og "Tjek, at der ikke ..." har det formål at fange eventuelle forsøg på injection fa spammere.
Kodelinjen if (@$_POST['customer_copy']) tjekker, om afsenderen ønsker en kopi af den sendte mail og den efterfølgende kodelinje $headers .= "\\r\\nBcc: ".$_POST['email'] sender i så fald denne mail-kopi til den email-adresse, som afsenderen har indtastet.
I de to linjer, hvor kommentaren lyder "Tjek, at dit domæne ...", indsætter du dit domæne, hvor der i koden står dit_domain.dk.
I sekstende kodelinje udskifter du dit.navn@dit_domain.dk med din egen mail-adresse.
10 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 4 karma
Hvad får du af fejlkoder?
Vi vil da godt vide hvad der er galt. Sender den ikke mails eller?
Du kan eventuelt kikke i PHP på udvikleren ellrs søg på google søgeord: PHP Bøger ellr gå på biblioteket =0) godt råd fordi det gør jeg for at lære alt om PHP HTML HXML OG JAVASCRIPE OG JAVA =0)
Ja vi kan jo ikke hjælpe dig hvis vi ikke har dit fulde scripts måske har du bare lavet en simpel stave fejl?
-azzimi
0
Jeg får ikke nogle fejlkoder.
Den går direkte til en side der henviser til at rette indstillinger.
0
Vi vil da godt vide hvad der er galt. Sender den ikke mails eller?
Hej Thomas
Den sender ikke noget, den kører automatisk over til en side hvor der bliver bedt om at rette indstillinger.
0
Kan du ikke smide et link til scriptet så vi kan se hvordan den opfører sig?
0
Du kan eventuelt kikke i PHP på udvikleren ellrs søg på google søgeord: PHP Bøger ellr gå på biblioteket =0) godt råd fordi det gør jeg for at lære alt om PHP HTML HXML OG JAVASCRIPE OG JAVA =0)
0
0
Hvor er resten af scriptet... Dette er jo kun afsendelsen af selve mailen.
Et eller andet sted må din POST jo komme fra.
Kan vi ikke få et link til, hvor den kommer fra?
Der må næsten være flere filer.