Avatar billede christina3018 Nybegynder
29. januar 2006 - 10:04 Der er 15 kommentarer og
1 løsning

Problemer med mailform

Hej!
Jeg er ved at skrive en mailform.
Min kode:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form  method="post" action="sender.php">

<fieldset>
<legend>Husk at udfylde alle felter</legend>

<label for="t1">Fornavn:</label>
<input id="t1" type="text" name="fname" /><br />

<label for="t2">Efternavn:</label>
<input id="t2" type="text" name="ename" /><br />

<label for="t3">Adresse:</label>
<input id="t3" type="text" name="adr" /><br />

<label for="t4">Postnr:</label>
<input id="t4" type="text" name="postnr" /><br />

<label for="t5">By:</label>
<input id="t5" type="text" name="by" /><br />

<label for="t6">Telefon:</label>
<input id="t6" type="text" name="tlf" /><br />

<label for="t7">Email:</label>
<input id="t7" type="text" name="email" /><br />

<label for="t8">Emne:</label>
<input id="t8" type="text" name="subject" /><br />

<label for="t9">Besked:</label>
<textarea id="t9" name="message" rows="10" cols="49"></textarea><br />

<label for="t10">Ønskes kopi tilsendt af dine indtastninger?</label>
<input type="checkbox" id="t10" name="customer_copy" >

<label for="t11"> </label><input id="t11" type="submit" name="submit" value=" Send mail " />
&nbsp; &nbsp; <input type="reset" value=" Slet alt " />
</fieldset>
</form>

</body>
</html>
</body>
</html>

og min anden fil - sender.php:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
  if (isset($_POST['submit'])) {
    if (!empty($_POST['fname']) && !empty($_POST['ename']) && !empty($_POST['adr']) &&
    !empty($_POST['postnr']) && !empty($_POST['by']) && !empty($_POST['tlf']) &&
    !empty($_POST['email']) && !empty($_POST['subject']) && !empty($_POST['message'])) {
      $headers="From: ".$_POST['fname']." ".$_POST['ename']."<".$_POST['email'].">";
      if (@$_POST['customer_copy']) {
        $headers .= "\r\nBcc: ".$_POST['email'];
      }
      if(@mail("c-svenstrup@ofir.dk", strip_tags($_POST['subject']),

      stripslashes(strip_tags($_POST['message'])), $headers)){
        echo "<p>Tak for din henvendelse. Jeg vender tilbage så hurtigt som muligt.</p>";
      }
      else {
        echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
      }
    }
    else {
      echo "<p>Alle felter skal udfyldes!</p>";
    }
  }
?>
</body>
</html>


1)Er det rigtigt skrevet??
Det virker ikk helt som det skal. Når jeg sender en mail via den:
2) Jeg kan ikke få den til at sende en til personen der indtaster, hvis vedkommende ønsker kopien tilsendt.
3) Når mailen modtages i christina3018@ofir.dk 's mailboks, er det kun selve beskeden "message" der kommer med. Hvordan gør jeg så også navn og adresse, tlf. og de andre kommer med i selve mailen?

På forhånd 1000 tak!! :)
Mvh. Christina
- totalt ny i php! :/
Avatar billede nielle Nybegynder
29. januar 2006 - 10:48 #1
Der skal linjeskift i enden af hver linje i din header - det har du ikke i Bcc-linjen, og det er derfor at den fejler i det tilfælde. Prøv med dette:

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
if (isset($_POST['submit']))
{
    if (!empty($_POST['fname']) && !empty($_POST['ename']) && !empty($_POST['adr']) && !empty($_POST['postnr']) && !empty($_POST['by']) && !empty($_POST['tlf']) && !empty($_POST['email']) && !empty($_POST['subject']) && !empty($_POST['message']))
    {
        $headers = "From: " . $_POST['fname'] . " " . $_POST['ename'] . "<" . $_POST['email'] . ">\n";
        if ($_POST['customer_copy']) $headers .= "Bcc: ".$_POST['email'] . "\n";

        $message = stripslashes(strip_tags($_POST['message'])) . "\n\n";
        $message .= $_POST["fname"] . ", " . $_POST["adr"] . " " . $_POST["tlf"] . " ... og de andre på samme måde.";
       

        if (mail("c-svenstrup@ofir.dk", strip_tags($_POST['subject']), $message, $headers))
        {
            echo "<p>Tak for din henvendelse. Jeg vender tilbage så hurtigt som muligt.</p>";
        }
        else
        {
            echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
        }
    }
    else
    {
        echo "<p>Alle felter skal udfyldes!</p>";
    }
}
?>
</body>
</html>
Avatar billede christina3018 Nybegynder
29. januar 2006 - 12:32 #2
Den vil stadig ikk :S ... Synes ellers jeg har skrevet det rigtigt? :

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
if (isset($_POST['submit']))
{
    if (!empty($_POST['fname']) && !empty($_POST['ename']) && !empty($_POST['adr']) && !empty($_POST['postnr']) && !empty($_POST['by']) && !empty($_POST['tlf']) && !empty($_POST['email']) && !empty($_POST['subject']) && !empty($_POST['message']))
    {
        $headers = "From: " . $_POST['fname'] . " " . $_POST['ename'] . "<" . $_POST['email'] . ">\n";
        if ($_POST['customer_copy']) $headers .= "Bcc: ".$_POST['email'] . "\n";

        $message = stripslashes(strip_tags($_POST['message'])) . "\n\n";
        $message .= $_POST["fname"] . ", " . $_POST["ename"] . " " . $_POST["adr"] . " " . $_POST["postnr"] . " " . $_POST["by"] . " " . $_POST["tlf"] . " " . $_POST["email"] . " " . $_POST["subject"] . ";
       

        if (mail("c-svenstrup@ofir.dk", strip_tags($_POST['subject']), $message, $headers))
        {
            echo "<p>Tak for din henvendelse. Jeg vender tilbage så hurtigt som muligt.</p>";
        }
        else
        {
            echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
        }
    }
    else
    {
        echo "<p>Alle felter skal udfyldes!</p>";
    }
}
?>
</body>
</html>
Avatar billede christina3018 Nybegynder
29. januar 2006 - 12:34 #3
^^ glemte lige at sige at der heller ikk kommer nogen meddelelse bagefter, altså når man har trykket "send"..... :S
Avatar billede nielle Nybegynder
29. januar 2006 - 19:01 #4
Hvad sker der? Hvad skere der ikke? Hvad forventer du at der skal ske? Hvilke fejlmeddelelser får du?
Avatar billede christina3018 Nybegynder
29. januar 2006 - 21:17 #5
Altså, der kommer ingen fejlmeddelelser...
Når jeg sender sender en test besked får intet i mailboksen og den kopi der skulle blive sendt til afsender bliver heller ikke modtaget. Når jeg har trykket formen afsted via send, kommer der bare en blank side - i stedet for en af de 3 meddelelser der burde komme.

Jeg vil gerne ha den til at self. bliver sendt til min email adresse og til afsenderens.
I den mail jeg modtager fra afsender, vil jeg gerne ha at der inde i selve mailen står navn, efternavn, adresse, postnr, by, telefon, email.
Avatar billede nielle Nybegynder
29. januar 2006 - 21:25 #6
Prøv at ændre navnet på din sumbit-knap til noget andet end "submit", altså f.eks. til:

<label for="t11"> </label><input id="t11" type="submit" name="sendMail" value=" Send mail " />

- og ændre så samtidigt:

if (isset($_POST['submit']))

- tilsvarende:

if (isset($_POST['sendMail']))
Avatar billede christina3018 Nybegynder
29. januar 2006 - 23:17 #7
Øjh... det da utroligt... hvordan kan det drille så meget?! :/

Det er stadigvæk helt det samme problem/er

:(
Avatar billede nielle Nybegynder
30. januar 2006 - 08:45 #8
Hvordan ser din kode ud lige i øjeblikket?

Det kan være en god ide at lige tilføje noget debug-kode, sådan at du kan se om dit script kommer ind i de rigtige steder; F.eks. sådan:

<?php
if (isset($_POST['sendMail']))
{
    echo "DEBUG: Nu skulle vi forsøge at sende mailen...";
Avatar billede christina3018 Nybegynder
30. januar 2006 - 09:34 #9
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form  method="post" action="send.php">

<fieldset>
<legend>Husk at udfylde alle felter</legend>

<label for="t1">Fornavn:</label>
<input id="t1" type="text" name="fname" /><br />

<label for="t2">Efternavn:</label>
<input id="t2" type="text" name="ename" /><br />

<label for="t3">Adresse:</label>
<input id="t3" type="text" name="adr" /><br />

<label for="t4">Postnr:</label>
<input id="t4" type="text" name="postnr" /><br />

<label for="t5">By:</label>
<input id="t5" type="text" name="by" /><br />

<label for="t6">Telefon:</label>
<input id="t6" type="text" name="tlf" /><br />

<label for="t7">Email:</label>
<input id="t7" type="text" name="email" /><br />

<label for="t8">Emne:</label>
<input id="t8" type="text" name="subject" /><br />

<label for="t9">Besked:</label>
<textarea id="t9" name="message" rows="10" cols="49"></textarea><br />

<label for="t10">Ønskes kopi tilsendt af dine indtastninger?</label>
<input type="checkbox" id="t10" name="customer_copy" >

<label for="t11"> </label><input id="t11" type="submit" name="sendMail" value=" Send mail " />
&nbsp; &nbsp; <input type="reset" value=" Slet alt " />
</fieldset>
</form>

</body>
</html>
</body>
</html>
***********************
og send-filen:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
if (isset($_POST['sendMail']))
{
    if (!empty($_POST['fname']) && !empty($_POST['ename']) && !empty($_POST['adr']) && !empty($_POST['postnr']) && !empty($_POST['by']) && !empty($_POST['tlf']) && !empty($_POST['email']) && !empty($_POST['subject']) && !empty($_POST['message']))
    {
        $headers = "From: " . $_POST['fname'] . " " . $_POST['ename'] . "<" . $_POST['email'] . ">\n";
        if ($_POST['customer_copy']) $headers .= "Bcc: ".$_POST['email'] . "\n";

        $message = stripslashes(strip_tags($_POST['message'])) . "\n\n";
        $message .= $_POST["fname"] . ", " . $_POST["ename"] . " " . $_POST["adr"] . " " . $_POST["postnr"] . " " . $_POST["by"] . " " . $_POST["tlf"] . " " . $_POST["email"] . " " . $_POST["subject"] . ";
       

        if (mail("c-svenstrup@ofir.dk", strip_tags($_POST['subject']), $message, $headers))
        {
            echo "<p>Tak for din henvendelse. Jeg vender tilbage så hurtigt som muligt.</p>";
        }
        else
        {
            echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
        }
    }
    else
    {
        echo "<p>Alle felter skal udfyldes!</p>";
    }
}
?>
</body>
</html>
Avatar billede nielle Nybegynder
30. januar 2006 - 13:15 #10
Hvad sker der når du brøver at indsætte den debug jeg viste? Bliver der udskrevet "DEBUG: Nu skulle vi forsøge at sende mailen..." eller ej?
Avatar billede christina3018 Nybegynder
30. januar 2006 - 14:14 #11
Nej der bliver ikke udskrevet noget :( .... Det er akkurat det samme som før: blank page...

Kan man ikk forøge tildelte point for spørgsmål herinde ligesom på kandu.dk? :/
Avatar billede christina3018 Nybegynder
30. januar 2006 - 17:06 #12
Nu virker det sgu!! Der var tilsyne ladende et . og et " for meget i sender filen!!

Koden ser sådan ud for sender filen nu:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
if (isset($_POST['sendMail']))
{
    if (!empty($_POST['fname']) && !empty($_POST['ename']) && !empty($_POST['adr']) && !empty($_POST['postnr']) && !empty($_POST['by']) && !empty($_POST['tlf']) && !empty($_POST['email']) && !empty($_POST['subject']) && !empty($_POST['message']))
    {
        $headers = "From: " . $_POST['fname'] . " " . $_POST['ename'] . "<" . $_POST['email'] . ">\n";
        if ($_POST['customer_copy']) $headers .= "Bcc: ".$_POST['email'] . "\n";

        $message = stripslashes(strip_tags($_POST['message'])) . "\n\n";
        $message .= $_POST["fname"] . " " . $_POST["ename"] . ", " . $_POST["adr"] . ", " . $_POST["postnr"] . ", " . $_POST["by"] . ", " . $_POST["tlf"] . ", " . $_POST["email"] . ", " . $_POST["subject"];
       

        if (mail("c-svenstrup@ofir.dk", strip_tags($_POST['subject']), $message, $headers))
        {
            echo "<p>Tak for din henvendelse. Jeg vender tilbage så hurtigt som muligt.</p>";
        }
        else
        {
            echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
        }
    }
    else
    {
        echo "<p>Alle felter skal udfyldes!</p>";
    }
}
?>
</body>
</html>


*****
Avatar billede christina3018 Nybegynder
30. januar 2006 - 17:10 #13
Hvordan giver jeg dig point nielle??
Er ik ligefrem ekspert til den her hjemmeside hehe :E
Avatar billede nielle Nybegynder
30. januar 2006 - 18:22 #14
Du beder mig bare om at lægge et svar :^)
Avatar billede christina3018 Nybegynder
30. januar 2006 - 18:41 #15
hehe oki... 1000 tak for hjælpen :D
Avatar billede nielle Nybegynder
30. januar 2006 - 19:23 #16
Takker for point :^)
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