Avatar billede moonsmiledk Nybegynder
20. januar 2008 - 00:00 Der er 4 kommentarer

Ændrede data i php mailform

Hej med jer :-)
Jeg er helt ny i dette, så bær en smule over med mig...

Jeg har indsat en php mailform på min hjemmeside (en "forudprogrammeret én af slagsen). Dernæst har jeg så tilføjet nogle felter, såsom: Firma, adresse, postnr/by, og tlf/fax...
Mailformen virker i sig selv fint, men de funktioner, som gør at den sender en mail til min mail-adresse, med "Emne", mail og "Kontaktperson" - virker jo så ikke på de "nye" felter - Jeg får altså ingen oplysninger om adresse, firma mv..

Er der nogen der kunne være så venlig at hjælpe en smule med koden, sådan at de sidste oplysninger også kommer med i "info-mailen"? :-)


............................................................


<?

?>
<html>
<head>
<title>Kontakt</title>
<link href="../../phpshark_dk_50_kontakt/kontakt/style/style.css" rel="stylesheet" type="text/css">
<script language="JavaScript">
<!--
    function CheckForm () {
       
    //kontroller at navn er udfyldt
    if (document.mail.navn.value == ""){
        alert("Skriv venligst dit navn");
        document.mail.navn.select();
        document.mail.navn.focus();
        return false
    }

    //kontroller at email er udfyldt og indeholder @ og punktum
    if (document.mail.mail.value.indexOf('@') == '-1' ||
        document.mail.mail.value.indexOf('.') == '-1') {
        alert("Check venligst din e-mail adresse");
        document.mail.mail.select();
        document.mail.mail.focus();
        return false
    }
   
    //kontroller at emne er udfyldt
    if (document.mail.emne.value == ""){
        alert("Skriv venligst et emne");
        document.mail.emne.select();
        document.mail.emne.focus();
        return false
    }
   
    //kontroller at besked er udfyldt
    if (document.mail.besked.value == ""){
        alert("Skriv venligst en besked");
        document.mail.besked.select();
        document.mail.besked.focus();
        return false
    }   
   
    //kontroller at adresse er udfyldt
    if (document.mail.adresse.value == ""){
        alert("Skriv venligst din adresse");
        document.mail.adresse.select();
        document.mail.adresse.focus();
        return false
    }   
        return true
}
//-->
</script>
<link href="../Media/style.css" rel="stylesheet" type="text/css" media="screen">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>

<body style="background-color:transparent;">
<table width="100%" height="509" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="22" align="center" valign="bottom"><h3>Kontakt Karoline</h3> </td>
  </tr>
  <tr>
    <td height="400" align="center"> <form name="mail" method="post" action="<? echo $PHP_SELF ?>" onSubmit="return CheckForm();" onReset="return confirm('Er du sikker på at du vil slette alt?');">
        <table width="450" height="365" border="0" cellpadding="0" cellspacing="2" class="tabel">
          <tr>
            <td height="141" align="right" valign="middle">Besked:&nbsp;</td>
            <td valign="bottom"><textarea name="besked" cols="42" rows="10" class="textarea"></textarea></td>
          </tr>
          <tr>
            <td align="right" valign="middle">Firma:&nbsp;</td>
            <td><input name="firma" type="text" class="input" size="45"></td>
          </tr>
          <tr>
            <td align="right" valign="middle">Adresse:&nbsp;</td>
            <td><textarea name="adresse" cols"29" rows="2" class="textarea"></textarea></td>
          </tr>
          <tr>
            <td align="right" valign="middle">Postnr/By:&nbsp;</td>
            <td><input name="Postby" type="text" class="input" size="45"></td>
          </tr>
          <tr>
            <td align="right" valign="middle">Tlf:&nbsp;</td>
            <td valign="top"><input name="tlf" type="text" class="input" size="18">
            &nbsp;&nbsp;Fax:&nbsp;
            <input name="fax" type="text" class="input" id="fax" size="17"></td>
          </tr>
          <tr>
            <td align="right" valign="middle">Kontaktperson:&nbsp;</td>
            <td><input name="navn" type="text" class="input" size="45"></td>
          </tr>
          <tr>
            <td height="18" align="right" valign="middle">E-mail:&nbsp;</td>
            <td><input name="mail" type="text" class="input" size="45"></td>
          </tr>
          <tr>          </tr>
          <tr>
            <td align="right" valign="top"></td>
            <td></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td align="center"> <input name="Submit" type="submit" class="button" value="Send">
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input name="Submit2" type="reset" class="button" value="Reset">            </td>
          </tr>
        </table>
      </form></td>
  </tr>
  <tr>
    <td align="center">&nbsp; </td>
  </tr>
  <tr>
    <td align="center">
      <?
    $mail = $_POST["mail"];
    $headers = "From: " . $_POST["mail"];
    $besked = $_POST["besked"];
    $navn = $_POST["navn"];
    $adresse = $_POST["adresse"];
    $firma = $_POST["firma"];
    $emne = $_POST["emne"];
    $til = "christina@moonsmile.dk";
    $besked2 = "Mailen er skrevet af: " . $navn . "\n\n" . $besked;
   

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

        else {
            echo "Der opstod en fejl... mailen er ikke blevet sendt!";
        }
    }
?>    </td>
  </tr>
</table>
</body>
</html>
Avatar billede erikjacobsen Ekspert
20. januar 2008 - 00:28 #1
Prøv at udvide:
  $besked2 = "Mailen er skrevet af: " . $navn . "\n\n" . $besked;
til
  $besked2 = "Mailen er skrevet af: " . $navn . "\n\n" . $besked . "\n\nFIRMA" . $firma;
Avatar billede nicolaib Praktikant
20. januar 2008 - 00:42 #2
Nu ved jeg ikke hvor ny du er i PHP men du skal samle alle dine nye punkter i variablen $besked2 som du sender i din mail, som erik har skrevet. Punktummet sammenlægger variablerne og så skal de lægges i den variabel hvor du vil have at de skal fremgå i mailen.
Dertil kan du evt. definere flere variabler felter som skal være udfyldt ved også at udbygge denne linje: 
if ($mail && $besked && $navn)  f.eks.
if ($mail && $besked && $navn && $firma && $emne)
bare som eksempel
Avatar billede dcheng Novice
20. januar 2008 - 13:33 #3
<?php

?>
<html>
<head>
<title>Kontakt</title>
<link href="../../phpshark_dk_50_kontakt/kontakt/style/style.css" rel="stylesheet" type="text/css">
<script language="JavaScript">
<!--
    function CheckForm () {
     
    //kontroller at navn er udfyldt
    if (document.mail.navn.value == ""){
        alert("Skriv venligst dit navn");
        document.mail.navn.select();
        document.mail.navn.focus();
        return false
    }

    //kontroller at email er udfyldt og indeholder @ og punktum
    if (document.mail.mail.value.indexOf('@') == '-1' ||
        document.mail.mail.value.indexOf('.') == '-1') {
        alert("Check venligst din e-mail adresse");
        document.mail.mail.select();
        document.mail.mail.focus();
        return false
    }
 
    //kontroller at emne er udfyldt
    if (document.mail.emne.value == ""){
        alert("Skriv venligst et emne");
        document.mail.emne.select();
        document.mail.emne.focus();
        return false
    }
 
    //kontroller at besked er udfyldt
    if (document.mail.besked.value == ""){
        alert("Skriv venligst en besked");
        document.mail.besked.select();
        document.mail.besked.focus();
        return false
    } 
 
    //kontroller at adresse er udfyldt
    if (document.mail.adresse.value == ""){
        alert("Skriv venligst din adresse");
        document.mail.adresse.select();
        document.mail.adresse.focus();
        return false
    } 
        return true
}
//-->
</script>
<link href="../Media/style.css" rel="stylesheet" type="text/css" media="screen">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>

<body style="background-color:transparent;">
<table width="100%" height="509" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="22" align="center" valign="bottom"><h3>Kontakt Karoline</h3> </td>
  </tr>
  <tr>
    <td height="400" align="center"> <form name="mail" method="post" action="<? echo $PHP_SELF ?>" onSubmit="return CheckForm();" onReset="return confirm('Er du sikker på at du vil slette alt?');">
        <table width="450" height="365" border="0" cellpadding="0" cellspacing="2" class="tabel">
          <tr>
            <td height="141" align="right" valign="middle">Besked:&nbsp;</td>
            <td valign="bottom"><textarea name="besked" cols="42" rows="10" class="textarea"></textarea></td>
          </tr>
          <tr>
            <td align="right" valign="middle">Firma:&nbsp;</td>
            <td><input name="firma" type="text" class="input" size="45"></td>
          </tr>
          <tr>
            <td align="right" valign="middle">Adresse:&nbsp;</td>
            <td><textarea name="adresse" cols="29" rows="2" class="textarea"></textarea></td>
          </tr>
          <tr>
            <td align="right" valign="middle">Postnr/By:&nbsp;</td>
            <td><input name="postby" type="text" class="input" size="45"></td>
          </tr>
          <tr>
            <td align="right" valign="middle">Tlf:&nbsp;</td>
            <td valign="top"><input name="tlf" type="text" class="input" size="18">
            &nbsp;&nbsp;Fax:&nbsp;
            <input name="fax" type="text" class="input" id="fax" size="17"></td>
          </tr>
          <tr>
            <td align="right" valign="middle">Kontaktperson:&nbsp;</td>
            <td><input name="navn" type="text" class="input" size="45"></td>
          </tr>
          <tr>
            <td height="18" align="right" valign="middle">E-mail:&nbsp;</td>
            <td><input name="mail" type="text" class="input" size="45"></td>
          </tr>
          <tr>          </tr>
          <tr>
            <td align="right" valign="top"></td>
            <td></td>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td align="center"> <input name="Submit" type="submit" class="button" value="Send">
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input name="Submit2" type="reset" class="button" value="Reset">            </td>
          </tr>
        </table>
      </form></td>
  </tr>
  <tr>
    <td align="center">&nbsp; </td>
  </tr>
  <tr>
    <td align="center">
      <?php

    $besked = $_POST["besked"];
    $firma = $_POST["firma"];
    $adresse = $_POST["adresse"];
    $postby = $_POST["postby"];
    $fax = $_POST["fax"];
    $navn = $_POST["navn"];
    $mail = $_POST["mail"];
    $headers = "From: " . $_POST["mail"];
    $til = "christina@moonsmile.dk";

    $besked2 = "Mailen er skrevet af: ".$navn."\nFirma: ".$firma."\nAdresse: ".$adresse."\nPost nr./By".$postby."\nFax: ".$fax."\n\n".$besked;
 

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

        else {
            echo "Der opstod en fejl... mailen er ikke blevet sendt!";
        }
    }
?>    </td>
  </tr>
</table>
</body>
</html>
Avatar billede dcheng Novice
20. januar 2008 - 13:34 #4
Forresten så lave sensur på folks e-mail adresser :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