Avatar billede janorakel Nybegynder
29. november 2005 - 19:32 Der er 10 kommentarer og
1 løsning

Hjælp til mailform

Jeg har nedenstående form, som skal sende indholdet til en e-mailadresse. Jeg får bare ikke det hele med.
Hvordan smider man det ind i php-delen øverst, således at indholdet af formen bliver vist pænt i mailen?

<?php
if(isset($_POST['navn'])){
    mail("jan@xxxxxx.dk", "Besked fra form", "Beskeden er:\n $_POST[besked]", "From: $_POST[navn] <$_POST[mail]>");
    echo "Din mail er nu sendt";
}
?>
<form action="<?php echo $SERVER['PHP_SELF']; ?>" method="post">
  <table width="90%"  border="0">
    <tr>
      <td>Navn:</td>
      <td><input name="navn" type="text" size="50"></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Firmanavn:</td>
      <td><input name="textfield" type="text" size="50"></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Adresse:</td>
      <td><input name="textfield2" type="text" size="50"></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Postnr. &amp; by </td>
      <td><input name="textfield3" type="text" size="50"></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td height="43" valign="bottom">Email: </td>
      <td valign="bottom"><input name="mail" type="text" size="50"></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Tlf.:</td>
      <td><input name="tlf" type="text" id="tlf" size="12"></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td valign="top">Kort beskrivelse af opgaver: </td>
      <td><textarea wrap="virtual" name="besked" class="textarea" rows="10" cols="45"></textarea></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input name="submit" type="submit" value="Send"></td>
      <td>&nbsp;</td>
    </tr>
  </table>
</form>
Avatar billede jakobdo Ekspert
29. november 2005 - 19:37 #1
Du skla putte flere felter ind i beskeden:
"Beskeden er:\n $_POST[besked]", "From: $_POST[navn] <$_POST[mail]>"

Det skal du så også indsætte $_POST['tlf'], $_POST['besked'] osv...

Byg den evt sådan op:

$besked  = "Beskeden er: " . $_POST['besked'] . "\n";
$besked .= "Navn er: " . $_POST['navn'] . "\n";
$besked .= "Telefon er: " . $_POST['tlf'] . "\n";
osv...

Sådan skal du altså gøre med alle felt navne.
Avatar billede jakobdo Ekspert
29. november 2005 - 19:37 #2
Og så retter du:
mail("jan@xxxxxx.dk", "Besked fra form", "Beskeden er:\n $_POST[besked]", "From: $_POST[navn] <$_POST[mail]>");
til:
mail("jan@xxxxxx.dk", "Besked fra form", $besked, "From: $_POST[navn] <$_POST[mail]>");
Avatar billede janorakel Nybegynder
29. november 2005 - 20:05 #3
Hej det ser rigtig godt ud!
Jeg kan bare ikke få Postnr og by til at vise indhold.

<?php


$besked = "Navn er: " . $_POST['navn'] . "\n";
$besked .= "Firmanavn: " . $_POST['Firmanavn'] . "\n";
$besked .= "Adressen er: " . $_POST['Adresse'] . "\n";
$besked .= "Postnr og by: " . $_POST['Postnr og by'] . "\n";
$besked .= "Email er: " . $_POST['Email'] . "\n";
$besked .= "Telefon er: " . $_POST['tlf'] . "\n";
$besked .= "Beskeden er: " . $_POST['besked'] . "\n";

if(isset($_POST['navn'])){
    mail("jan@xxxxxx.dk", "Besked fra form", $besked, "From: $_POST[navn] <$_POST[mail]>");
    echo "Din forespørgsel er nu sendt";
}
?>
<form action="<?php echo $SERVER['PHP_SELF']; ?>" method="post">
  <table width="90%"  border="0">
    <tr>
      <td>Navn:</td>
      <td><input name="navn" type="text" size="50"></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Firmanavn:</td>
      <td><input name="Firmanavn" type="text" size="50"></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Adresse:</td>
      <td><input name="Adresse" type="text" size="50"></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Postnr og by:</td>
      <td><input name="Postnr og by" type="text" size="50"></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td height="43" valign="bottom">Email: </td>
      <td valign="bottom"><input name="Email" type="text" size="50"></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>Tlf.:</td>
      <td><input name="tlf" type="text" id="tlf" size="12"></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td valign="top">Kort beskrivelse af opgaver: </td>
      <td><textarea wrap="virtual" name="besked" class="textarea" rows="10" cols="45"></textarea></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input name="submit" type="submit" value="Send"></td>
      <td>&nbsp;</td>
    </tr>
  </table>
</form>
Avatar billede janorakel Nybegynder
29. november 2005 - 20:05 #4
Er det pga mellemrum mellem ordene?
Avatar billede jakobdo Ekspert
29. november 2005 - 20:12 #5
Du har navngivet felterne:
<td>Firmanavn:</td>
<td><input name="textfield" type="text" size="50"></td>

<td>Adresse:</td>
<td><input name="textfield2" type="text" size="50"></td>

<td>Postnr. &amp; by </td>
<td><input name="textfield3" type="text" size="50"></td>

Så du skal enten bruge: $_POST['textfield'], $_POST['textfield2'] og $_POST['textfield3']

Eller rette navnene på felter til:
postnr, adresse, firma (og sidste løsning må være den som giver bedst mening)
Avatar billede janorakel Nybegynder
29. november 2005 - 20:18 #6
Jamen, jeg har rettet det til i det seneste indlæg
Avatar billede hmortensen Nybegynder
29. november 2005 - 20:18 #7
En lille rettelse til jakob's rettelse (han har glemt '' om index) ;)
mail("jan@xxxxxx.dk", "Besked fra form", $besked, "From: {$_POST['navn']} <{$_POST['mail']}>");
Avatar billede jakobdo Ekspert
29. november 2005 - 20:19 #8
Sorry, for meget copy/paste fra janorakel's gamle kode!

Og ja, du må ikke navngive feltnavnet: Postnr og by
Prøv evt blot med: postnrby
Avatar billede janorakel Nybegynder
29. november 2005 - 20:26 #9
Ok, nu virker det!
Tak skal du have - smider du ikke et svar?
Avatar billede jakobdo Ekspert
29. november 2005 - 20:30 #10
Svar!
Avatar billede jakobdo Ekspert
29. november 2005 - 21:58 #11
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