Avatar billede wolstrup Nybegynder
07. oktober 2004 - 20:37 Der er 21 kommentarer og
1 løsning

Problem med formmail

Problemet er at jeg ikke modtager nogen mail

script:
<?
    $mail = $_POST["mail"];
    $headers = "From:" . $_POST["mail"];
    $besked = $_POST["besked"];
    $navn = $_POST["navn"];
    $tekstIndhold = $_POST["tekstIndhold"];
    $emne = $_POST["emne"];
    $til = "kontakt@danestate.dk";
    $besked2 = "Mailen er skrevet af: " . $navn . "\n\n" . $besked;

    if ($mail && $besked && $navn && $tekstIndhold) {
        if (mail($til, $emne, $besked2 . $tekstIndhold, $headers)) {
            echo "Din mail er blevet sendt - tak!";
        }

        else {
            echo "Der opstod en fejl... mailen er ikke blevet sendt!";
        }
    }
?>

Dog hvis jeg fjerner "&& $tekstIndhold"

fra linien

"if ($mail && $besked && $navn && $tekstIndhold) {"

modteger jeg mailen, dog ikke med den information der er i $tekstIndhold...

Hvad gør jeg galt?

Kunne også godt tænke mig at sende brugeren til en anden side, når mailen er sendt, hvordan?

På forhånd tak...
Avatar billede eagleeye Praktikant
07. oktober 2004 - 20:44 #1
Det kunne tyde på du ikke har et form input felt som hedder tekstIndhold, prøv at tjekke det.

Du kan evt. prøve at tjekke indholdet af $_POST og se om den indeholder de felter du forvendter sådan her:
print_r($_POST);


Man kan sende folk vidre med header:
header ('location: side.php');
Avatar billede blackscorpion Nybegynder
07. oktober 2004 - 20:44 #2
tjek om tekstIndhold i din formular som du sender til dit mail script, faktisk hedder tekstIndhold. :)

if (mail($til, $emne, $besked2 . $tekstIndhold, $headers)) {
header("Location: din_anden_side.php");
exit;
}
Avatar billede blackscorpion Nybegynder
07. oktober 2004 - 20:44 #3
eagleeye -> danm der var jeg 2 sek for langsom. *LOL*
Avatar billede wolstrup Nybegynder
07. oktober 2004 - 20:46 #4
Jeg skaber $tekstIndhold fra et javascript

script:
<SCRIPT LANGUAGE="JavaScript">
vareTekst(document,"tekstIndhold");
var localPath = document.location.href;

localPath = localPath.substring( 0, localPath.lastIndexOf( '/'));
document.write('<INPUT TYPE="hidden" VALUE="' +localPath +'/formular/tak.htm" NAME="redirOk">');
document.write('<INPUT TYPE="hidden" VALUE="' +localPath +'/formular/fejl.htm" NAME="redirFejl">');
</SCRIPT>
Avatar billede blackscorpion Nybegynder
07. oktober 2004 - 20:49 #5
okey der står jeg af. :(

men prøv evt. at lave en
document.write('<input type="hidden" value="+vareTekst+" name="tekstIndhold">');

??
men er slet ikke sikker, bare nada javascript. *G*
Avatar billede blackscorpion Nybegynder
07. oktober 2004 - 20:51 #6
nå jeg vil daffe.

Held og lykke med det, håber du får det til at virke. ;)
Avatar billede eagleeye Praktikant
07. oktober 2004 - 20:53 #7
Hvad gør vareTekst?  Tilføjer den et input felt?
Avatar billede wolstrup Nybegynder
07. oktober 2004 - 20:55 #8
den tilføjer data "forudbestemte produkter"
Avatar billede eagleeye Praktikant
07. oktober 2004 - 21:00 #9
Ok, men det ende med et form input felt som har navnet tekstIndhold
og det input felt skal være imellem <form> og </form> tagsne.
Avatar billede wolstrup Nybegynder
07. oktober 2004 - 21:07 #10
Så er den der sgu! takker...
Men kan du hjælpe mig med at sende brugeren videre, til en anden side?

fik fejl da jeg prøvede før...
Avatar billede eagleeye Praktikant
07. oktober 2004 - 21:09 #11
Ok, hvilken fejl får du ?
Prøv evt. at vise linjen som fejler.
Avatar billede wolstrup Nybegynder
07. oktober 2004 - 21:14 #12
Indsætter linierne som forslået:

if (mail($til, $emne, $besked2 . $tekstIndhold, $headers)) {
header("Location: din_anden_side.php");
exit;
}

Og får følgende fejl:

Parse error: parse error, unexpected $ in /customers/danestate.dk/danestate.dk/httpd.www/Webshop/varekurv.php on line 223

sjovt nok er linien den melder fejl i sidste linie i scriptet:

</html>
Avatar billede eagleeye Praktikant
07. oktober 2004 - 21:18 #13
Prøv at tjekke alle start { er  sluttet med }
Avatar billede wolstrup Nybegynder
07. oktober 2004 - 21:23 #14
kan ikke lige se hvor det kunne være...
Avatar billede eagleeye Praktikant
07. oktober 2004 - 21:25 #15
Det kan evt. også være et ; som mangler tilsidst i en linje.
Avatar billede wolstrup Nybegynder
07. oktober 2004 - 21:33 #16
Har prøvet at lave den om til dette, men det dur ikke???

<?
    $mail = $_POST["mail"];
    $headers = "From:" . $_POST["mail"];
    $besked = $_POST["besked"];
    $navn = $_POST["navn"];
    $tekstIndhold = $_POST["tekstIndhold"];
    $emne = $_POST["emne"];
    $til = "kontakt@danestate.dk";
    $besked2 = "Mailen er skrevet af: " . $navn . "\n\n" . $besked;

    if ($mail && $besked && $navn && $tekstIndhold) {
        if (mail($til, $emne, $besked2 . $tekstIndhold, $headers)) {
            header("Location: din_anden_side.php");
        }

        else {
            echo "Der opstod en fejl... mailen er ikke blevet sendt!";
        }
    }
?>
Avatar billede eagleeye Praktikant
07. oktober 2004 - 21:42 #17
Er det samme fejl?
Avatar billede wolstrup Nybegynder
07. oktober 2004 - 21:43 #18
den sender mailen, men den bliver på siden den er sendt fra...
Avatar billede eagleeye Praktikant
07. oktober 2004 - 21:59 #19
Det forstår jeg ikke helt og den kommer ikke med en fejl?
Avatar billede wolstrup Nybegynder
07. oktober 2004 - 22:01 #20
Nope, men nevermind... Jeg er da kommet et skridt videre :-) smid et svar...
Avatar billede eagleeye Praktikant
07. oktober 2004 - 22:02 #21
ok, så her et svar :)
Avatar billede blackscorpion Nybegynder
08. oktober 2004 - 05:35 #22
smider også et svar. :P
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