Avatar billede hans01 Nybegynder
27. december 2012 - 09:04 Der er 7 kommentarer og
1 løsning

kan ikke få en kontakt formular til at virke

Er der evt. nogen her i julen der kan hjælpe med en kontakt formular:

Jeg modtager følgende fejl: Der opstod en fejl. Prøv igen. Klik her for at komme tilbage til formularen.

Scriptet virkede før min ISP lavede en eller anden ændring på serveren.

Mit script ser således ud:

<?php

//Tjekker om brugeren kom fra kontakt.php

if(!isset($_POST['navn']))
{
    header("Location: kontakt.html"); //Hvis brugeren ikke kom fra kontakt.php, sender vi ham derhen.
}

else
{ // Hvis brugeren kom fra kontakt.htm, s&aring; forts&aelig;tter vi.
ini_set("SMTP","smtp.wwwwww.dk");

    //Henter data fra formular
    $navn = $_POST['navn'];
   
    $telefon = $_POST['telefon'];
   
    $email = $_POST['email'];
    $besked = $_POST['besked'];
   
    if(empty($navn) || empty($email) || empty($besked))
    { //Hvis en af variablerne er tomme, kommer brugeren ikke videre.
   
        echo "Alle felter skal udfyldes. <a href='kontakt.html' title='Klik her for at komme tilbage'>Klik her for at komme tilbage til formularen</a>";

    }

    else
    { //Hvis der var noget i alle variabler g&aring;r vi videre til n&aelig;ste tjek.

        if(ereg("^.+@.+\\..+$", $email)) { //Hvis brugerens e-mail er gyldig forts&aelig;tter vi.
       
        //Nu skal vi til at sende e-mailen.
        //Vi laver lige et par variabler mere
        $sendto = "info@xxxxx.dk"; //Den adresse som mailen skal sendes til
       
        //Vi laver en variabel, som indeholder alt det, som skal st&aring; i mailen.
        $msg .= "Navn: ".$navn."\\n";
       
        $msg .= "Telefon: ".$telefon."\\n";
       
        $msg .= "Afsenderens e-mail: ".$email."\\n";
        $msg .= $navn."'s besked er:\\n".$besked."\\n";
       
        $subject = "Kontakt besked(DK): ".$emne;
       
        //Mailen afsendes
        if(mail($sendto, $subject, $msg, $besked, "From: $email\\r\\n" . "Reply-To: $email\\r\\n"))
        {
       
        echo "Mailen blev sendt uden problemer, vi vil svare p&aring; din/jeres mail inden 3 timer";
       
        }
        else
        {
        echo "Der opstod en fejl. Pr&oslash;v igen. <a href='kontakt.html' title='Klik her for at komme tilbage'>Klik her for at komme tilbage til formularen</a>";

        }       
    }

        else
        { //Hvis e-mail adressen ikke har et @ kommer vi med endnu en fejl

        echo "Ugyldig e-mail adresse. <a href='kontakt.html' title='Klik her for at komme tilbage'>Klik her for at komme tilbage til formularen</a>";

        }

}
}
?>
Avatar billede michael_stim Ekspert
27. december 2012 - 09:30 #1
1. Skal du både have $msg og $besked, tror der har sneget sig en parameter for meget ind
2. Ville nok sætte lidt headers på, læs her: http://php.net/manual/en/function.mail.php
Avatar billede hans01 Nybegynder
27. december 2012 - 11:38 #2
Hej Michael,

Tak for din hurtige svar.

Jeg er ikke den store PHP ørn..

Dvs jeg skal erstatte $msg med $besked. alle steder?

mht Headers hvad gør de lige?
Avatar billede michael_stim Ekspert
27. december 2012 - 12:24 #3
Næ, du skal nok bare fjerne den her:
if(mail($sendto, $subject, $msg, $besked, "From: $email\\r\\n" . "Reply-To: $email\\r\\n"))

Du har den jo allerede i $msg.
I din header kan du styre charset, mimetype, html-mail osv osv. Læs i linket jeg sendte. Du minimerer også risiko for at din mail bliver opfattet som spam, med en ordentlig header.
Avatar billede hans01 Nybegynder
28. december 2012 - 07:46 #4
Hej Michael

Hvis jeg fjerner den del af koden opstår der er fejl på linie 55. udfor else

"  else
        {
        echo "Der opstod en fejl. Pr&oslash;v igen. <a href='kontakt.html' title='Klik her for at komme tilbage'>Klik her for at komme tilbage til formularen</a>";
"
Avatar billede michael_stim Ekspert
28. december 2012 - 08:30 #5
Men du skal jo kun fjerne $besked fra den del af koden, jeg tidligere skrev.
Avatar billede hans01 Nybegynder
29. december 2012 - 08:25 #6
Hej Michael

Så er jeg med, det er nu gjort men jeg modtager den samme fejl. den vil ikke køre scriptet.
Avatar billede hans01 Nybegynder
31. december 2012 - 09:28 #7
Det er utroligt, jeg kan ikke få det til at virke, hvad pokker sker der? er der andre med et evt forslag
Avatar billede hans01 Nybegynder
22. marts 2013 - 04:30 #8
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester