Avatar billede Tony Juniormester
01. september 2008 - 11:35 Der er 35 kommentarer og
1 løsning

Formmail der sender kopi af henvendelse til bruger?

Kære venner.

Hvordan kunne en formmail i PHP se ud med følgende felter og hvor der også bliver sendt en kopi af henvendelsen til bruger?

contactName, email og Subject

P.s. Validering er ikke nødvendig, den er på plads med JS ...

***
For nemheds skyld:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test af formular</title>
</head>

<body>
<form action="???" method="POST" id="contactForm" name="contactForm">

  <input id="contactName" tabindex="1" maxlength="100" size="60" name="contactName">
  <input id="email" tabindex="2" maxlength="100" size="60" name="email">
  <textarea name="Subject" id="Subject" cols="75" rows="9" tabindex="3">Henvendelse ...</textarea>

</form>
</body>
</html>
Avatar billede jakobdo Ekspert
01. september 2008 - 11:47 #1
Noget ala:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test af formular</title>
</head>

<body>
<form action="???" method="POST" id="contactForm" name="contactForm">

  <input id="contactName" tabindex="1" maxlength="100" size="60" name="contactName">
  <input id="email" tabindex="2" maxlength="100" size="60" name="email">
  <textarea name="Subject" id="Subject" cols="75" rows="9" tabindex="3">Henvendelse ...</textarea>
  <input id="contactSubmit" tabindex="4" name="contactSubmit">

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

//Din php fil
<?php
if(isset($_POST['contactSubmit'])){
    $to  = 'din@email.dk';
    $from = $_POST['email'];
    $subject = 'Henvendelse';
    $message = $_POST['subject'];
    $headers = 'From: webmaster@dinside.dk' . "\r\n" .
    'Reply-To: webmaster@dinside.dk' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
 
  //Email til dig
  mail($to,$subject,$message,$header);
 
  //Email til brugeren
    mail($from,$subject,$message,$header);
}
Avatar billede Tony Juniormester
01. september 2008 - 11:55 #2
Tak :-)

Hvor vil du have det sat ind ... i HEAD?

Hvad med form action?

Hvad hvis jeg ønsker at tilføje felterne 'Postnummer' og 'Virksomhed'?
Avatar billede jakobdo Ekspert
01. september 2008 - 12:06 #3
form action skal du f.eks. rette til: <form action="send_email.php"

Og så skal php koden gemmes som send_email.php
Avatar billede jakobdo Ekspert
01. september 2008 - 12:06 #4
Ang. tilføjelser, så kan det sagtens udbygges! :o)
Avatar billede Tony Juniormester
01. september 2008 - 12:09 #5
OK - jeg prøver lige at teste ...
Avatar billede dkfire Nybegynder
01. september 2008 - 12:21 #6
Ang. validering af brugerinput med JS, så stol aldrig på brugerinput, heller ikke hvis de bliver valideret via JS, da man sagtens kan deaktivere js koden.
Avatar billede Tony Juniormester
01. september 2008 - 12:46 #7
Nej, det kan jeg desværre ikke umiddelbart få til at virke. Hvor skal PHP-koden konkret sættes ind?

I formularen efter 'Send'?
Avatar billede Tony Juniormester
01. september 2008 - 12:46 #8
OK 'dkfire' - Tak :-)
Avatar billede jakobdo Ekspert
01. september 2008 - 12:59 #9
php koden skal gemmes i send_email.php
Avatar billede Tony Juniormester
01. september 2008 - 13:06 #10
OK - som understående?

Det virker desværre ikke ...

***
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test af formular</title>
</head>

<body>
<form action="tak.php" method="POST" id="contactForm" name="contactForm">
  Navn:<br>
  <input id="contactName" tabindex="1" maxlength="100" size="60" name="contactName">
  <br><br>
  E-mail:<br>
  <input id="email" tabindex="2" maxlength="100" size="60" name="email">
  <br><br>
  Emne:<br>
  <textarea name="Subject" id="Subject" cols="75" rows="9" tabindex="3">Henvendelse ...</textarea>
  <br><br>
  <input id="Submit" tabindex="5" type="submit" name="Submit" value="Send">
<?php
if(isset($_POST['contactSubmit'])){
    $to  = 'tony@MinMail.dk';
    $from = $_POST['email'];
    $subject = 'Henvendelse';
    $message = $_POST['subject'];
    $headers = 'From: webmaster@MinMail.dk' . "\r\n" .
    'Reply-To: tony@breindal-media.dk' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
 
  //Email til dig
  mail($to,$subject,$message,$header);
 
  //Email til brugeren
    mail($from,$subject,$message,$header);
}
?>
</form>
</body>
</html>
Avatar billede jakobdo Ekspert
01. september 2008 - 13:13 #11
//Gem dette som tak.php
<?php
if(isset($_POST['contactSubmit'])){
    $to  = 'tony@MinMail.dk';
    $from = $_POST['email'];
    $subject = 'Henvendelse';
    $message = $_POST['subject'];
    $headers = 'From: webmaster@MinMail.dk' . "\r\n" .
    'Reply-To: tony@breindal-media.dk' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

  //Email til dig
  mail($to,$subject,$message,$header);

  //Email til brugeren
  mail($from,$subject,$message,$header);
}
?>

//Gem dette som mailform.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test af formular</title>
</head>

<body>
<form action="tak.php" method="POST" id="contactForm" name="contactForm">
  Navn:<br>
  <input id="contactName" tabindex="1" maxlength="100" size="60" name="contactName">
  <br><br>
  E-mail:<br>
  <input id="email" tabindex="2" maxlength="100" size="60" name="email">
  <br><br>
  Emne:<br>
  <textarea name="Subject" id="Subject" cols="75" rows="9" tabindex="3">Henvendelse ...</textarea>
  <br><br>
  <input id="Submit" tabindex="5" type="submit" name="Submit" value="Send">
</form>
</body>
</html>
Avatar billede Tony Juniormester
01. september 2008 - 13:22 #12
Nej desværre - det virker ikke.

Kan det mon have noget med min udbyder at gøre?
Avatar billede jakobdo Ekspert
01. september 2008 - 13:25 #13
Det virker ikke, hvad mener du med det ?
Avatar billede Tony Juniormester
01. september 2008 - 13:39 #14
Jeg modtager ikke nogen mail
Avatar billede jakobdo Ekspert
01. september 2008 - 13:46 #15
$header skal rettes til: headers
Avatar billede Tony Juniormester
01. september 2008 - 13:56 #16
OK - prøver igen :-)
Avatar billede Tony Juniormester
01. september 2008 - 14:00 #17
Nej desværre - ingen mails ...
Avatar billede jakobdo Ekspert
01. september 2008 - 14:02 #18
Du skal rette:
if(isset($_POST['contactSubmit'])){
til:
if(isset($_POST['Submit'])){
Avatar billede Tony Juniormester
01. september 2008 - 14:15 #19
OK, så modtager jeg e-mail, men desværre uden indhold ...
Avatar billede jakobdo Ekspert
01. september 2008 - 14:28 #20
Ret lige:
$message = $_POST['subject'];
til:
$message = $_POST['Subject'];
Avatar billede Tony Juniormester
01. september 2008 - 14:41 #21
Super, nu kommer indholdet, men desværre kan jeg ikke se afsenders navn og e-mail adresse ...
Avatar billede Tony Juniormester
01. september 2008 - 14:42 #22
... og mailen kommer to gange ...
Avatar billede Tony Juniormester
01. september 2008 - 14:46 #23
Hvis jeg opgiver to forskellige adresser som:

    $to  = 'mail01@mail.dk';

og

    'Reply-To: mail02@mail.dk' . "\r\n" .


- så modtager jeg én mail til hver adresse ...
Avatar billede jakobdo Ekspert
01. september 2008 - 15:56 #24
Det med navn og email, skal jo selvfølgelig indbygges. :o)
Kan du ikke noget php selv ?
Avatar billede Tony Juniormester
01. september 2008 - 16:12 #25
Nej, det kan desværre tilnærmelsesvis ikke :-/

Jeg er nået frem til, at understående virker så både modtager og afsender får en en e-mail med emnelinie og indhold:

if(isset($_POST['Submit'])){
    $to  = 'tony@MinMail.dk';
    $from = $_POST['email'];
    $subject = 'Henvendelse via hjemmesiden www.nn.dk';
    $message = $_POST['Subject'];

  //Email til dig
  mail($to,$subject,$message);

  //Email til brugeren
  mail($from,$subject,$message);
}

Jeg ville jo gerne kunne se navn og e-mail på vedkommende, ellers ka' det vær' lidt svært at svar' ;-) ...
Avatar billede jakobdo Ekspert
01. september 2008 - 16:17 #26
Har du felterne i din html formular nu ?
Avatar billede Tony Juniormester
01. september 2008 - 16:17 #27
... i øvrigt:

Når jeg og afsender modtager e-mail, så står der, at den er fra: 'postmaster@MinMail.dk'. Det skulle helst være 'tony@MinMail.dk' ...
Avatar billede Tony Juniormester
01. september 2008 - 16:19 #28
Ja, jeg har felterne 'contactName', 'email' og 'Subject'
Avatar billede jakobdo Ekspert
01. september 2008 - 16:21 #29
Så ret til:

if(isset($_POST['Submit'])){
    $to  = 'tony@MinMail.dk';
    $from = $_POST['email'];
    $subject = 'Henvendelse via hjemmesiden www.nn.dk';
    $message = $_POST['Subject'];
$message .= 'Navn : ' . $_POST['contactName'] . "\r\n";
$message .= 'Email : ' . $_POST['email'] . "\r\n";
$message .= 'Emne : ' . $_POST['Subject'] . "\r\n";

  //Email til dig
  mail($to,$subject,$message);

  //Email til brugeren
  mail($from,$subject,$message);
}
Avatar billede Tony Juniormester
01. september 2008 - 16:26 #30
Nu er det godt nok tæt på. Den giver:

Test ... 36Navn : Olsen
Email : testmail@mail.dk
Emne : Test ... 36

D.v.s. den giver indholdet (Test ... 36) to gange.
Avatar billede Tony Juniormester
01. september 2008 - 16:31 #31
At fjerne: $message = $_POST['Subject']; gør underværker.

Kan vi få (tvinge) den til at sende fra tony@MinMail.dk i stedet for postmaster@MinMail.dk?
Avatar billede jakobdo Ekspert
01. september 2008 - 16:37 #32
Prøv at ret email her:

$headers = 'From: webmaster@MinMail.dk' . "\r\n" .
    'Reply-To: tony@breindal-media.dk' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
Avatar billede Tony Juniormester
01. september 2008 - 16:45 #33
Det gør desværre ingen forskel ...
Avatar billede Tony Juniormester
01. september 2008 - 16:59 #34
Pyt, det er en petitesse der intet betyder.

Tak for din flotte indsats 'jakobdo' :-)

Læg venligst et 'Svar', så du kan få dine ponit ...
Avatar billede jakobdo Ekspert
01. september 2008 - 17:05 #35
Svar!
Avatar billede jakobdo Ekspert
01. september 2008 - 17:21 #36
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