Form-to-mail

Status
Niet open voor verdere reacties.

anton144

Gebruiker
Lid geworden
5 apr 2008
Berichten
100
Ik heb een formilier op de site, deze word ingevuld maar nu is mijn vraag hoe een script inelkaar steek om deze dan op een bepaalde e-mail te ontvangen.
Het maken van een formulier is geen probleem, maar het verzend script in HTML of PHP.
Weet niet hoe ik dit moet aanpakken, ben nl. een beginnend site bouwer.
Wie kan mij hiermee helpen?
Wil graag een scipt hiervoor en wat ik waar moet plaatsen.
Heb al van alles geprobeerd en kom dan in mijn OUTLOOK terecht.
Ik weet het niet meer,dus............. wie kan mij hiermede helpen?????

Anton
 
ik snap niet precies wat u bedoeld, maar misschien heeft u hier iets aan.

Code:
<form method="post" action="mailto:emailadres">
uw tekst
</form>
 
ik snap niet precies wat u bedoeld, maar misschien heeft u hier iets aan.

Code:
<form method="post" action="mailto:emailadres">
uw tekst
</form>

hi monoxide, het probleem is voor 95%al opgelost.
Maar dnk voor reactie.

Anton
 
Dit zul je toch echt in PHP moeten doen. Hieronder een scriptje:

PHP:
<?
////////////////////////////
///Contactform///
//B.Dalenoord//
/////////////////////////
ob_start(); // Voor Cookie setten, tegen spam

// Config Gedeelte
$site = "index.php";                                         // Site waarnaar je terug gaat als je een bericht hebt achtergelaten
$wm_naam = "WebMaster";                          // Webmaster naam
$wm_email = "jouw@email.com";                 // Webmaster E-mail, hier word het bericht naar toe gestuurd
$Anti_Spam = "10";                                        // Anti Spam Tijd in Minuten ( Voer "0" om de Spam Beveiliging uit te zetten )
$fout_text = TRUE;                                          // Bij Fout Text Rood maken ( TRUE voor aan, FALSE voor uit )
$fout_vakje = TRUE;                                       // Bij Fout Border om Vakje Rood maken ( TRUE voor aan, FALSE voor uit )
$html = FALSE;                                               // Een HTML email. Verander FALSE in TRUE om in te schakelen


$ip = $_SERVER['REMOTE_ADDR'];         // IP van de verstuurder
$host = gethostbyaddr($ip);                           // Host van verstuurder

// Mail Checker
function checkmail($email)
{
    $email_host = explode("@", $email);
    $email_host = $email_host[1];
    $email_resolved = gethostbyname($email_host);
    
    if($email_resolved == $email_host)
    {
        $valid = FALSE;
    }
    if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
    {
        $valid = TRUE;
    }
    else
    {
        $valid = FALSE;
    }
    return $valid;
}

// kijken of het cookie bestaat, zoja dan wordt het formulier niet getoond.
if(!isset($_COOKIE['mailformulier']))
{
    if(isset($_POST['wis']))
    {
        foreach ($_POST as $key => $value) 
        {
            unset($value);
    }
    // Alles Controleren Wanneer er op Verzenden wordt gedrukt
    if(isset($_POST['verzenden']))
    {        
        $naam = trim($_POST['naam']);
        $email = trim($_POST['email']);
        $onderwerp = trim($_POST['onderwerp']);
        $bericht = trim($_POST['bericht']);
        $fout = "";

        if($html) 
        {              
            // Bericht
            $message = "
            <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
            <html>          
            <body>
            <br /> 
            <table>
            <tr><td>Naam:</td><td>".$naam."</td></tr>
            <tr><td>Mail:</td><td><a href=\"mailto:".$email."\">".$email."</a></td></tr>
            <br />
            <tr><td>Bericht:</td><td>".$bericht."</td></tr>
            <tr><td colspan=\"2\">&nbsp;</td></tr>
            <br />
            <tr><td>Datum:</td><td>".date("d-m-Y H:i:s")."</td></tr>
            <tr><td>IP:</td><td><a href=\"http://sunny.nic.com/cgi-bin/whois?domain=".$ip."\">".$ip."</a></td></tr>
            <tr><td>Host:</td><td>".$host."</td></tr>
            </table>
            
            </body>
            </html>";
            
        }
        else 
        {
            $bericht_wrap = wordwrap ($bericht, 40, "\n", 1);
            // Bericht
            $message = "Naam: ".$naam."        \n";
            $message .= "E-mail: ".$email."     \n";
            $message .= "Bericht:\n".$bericht_wrap."     \n ";
            $message .= "               \n ";
            $message .= "Datum: ".date("d-m-Y H:i:s")." \n";
            $message .= "------------------------------------------------------- \n ";
            $message .= "IP: ".$ip."                    \n ";
            $message .= "Host: ".$host."                \n ";
        
        }
        if((empty($naam)) OR (strlen($naam) < 3) OR (eregi("[<>]", $naam)))
        {
            $fout .= "U heeft geen naam in gevuld! <br />";
            unset($naam);
            $fout_vakje_naam = "input_fout";
            $fout_text_naam = "text_fout";
        }
        if((empty($email)) OR (strlen($email) < 7) OR (eregi("[<>]", $email))) 
        {
            $fout .= "U heeft geen emailadres ingevuld! <br />";
            unset($email);
            $fout_vakje_email = "input_fout";
            $fout_text_email = "text_fout";
        }
        elseif(checkmail($email) == 0)
        {
            $fout .= "Vul een geldig emailadres in! <br />";
            unset($email);
            $fout_vakje_email = "input_fout";
            $fout_text_email = "text_fout";
        }
        if((empty($onderwerp)) OR (strlen($onderwerp) < 3) OR (eregi(">", $onderwerp)) )
        {
            $fout .= "U heeft geen onderwerp ingevuld! <br />";
            unset($onderwerp);
            $fout_vakje_onderwerp = "input_fout";
            $fout_text_onderwerp = "text_fout";
        }
        if(empty($bericht))
        {
            $fout .= "U moet wel een bericht invullen! <br />";
            unset($bericht);
            $fout_vakje_bericht = "input_fout";
            $fout_text_bericht = "text_fout";
        }
        elseif(strlen($bericht) < 30)
        {
            $fout .= "Waarom is je bericht zo kort? Probeer je me te spammen ?<br />";
            $fout_vakje_bericht = "input_fout";
            $fout_text_bericht = "text_fout";
        }
        if(!$fout_text)
        {
            unset($fout_text_naam);
            unset($fout_text_email);
            unset($fout_text_onderwerp);
            unset($fout_text_bericht);
        }
        if(!$fout_vakje)
        {
            unset($fout_vakje_naam);
            unset($fout_vakje_email);
            unset($fout_vakje_onderwerp);
            unset($fout_vakje_bericht);
        }
        if(!empty($fout))
        {
            echo "\n<p style=\"color:#FF0000;\">\n".$fout."<br />\n</p>\n"; // Weergeven van de fout(en)
        }
        else
        {
            mail($wm_email,$onderwerp,$message);
    
            // Bericht als mail succesvol is verzonden
            echo "<head><link href=\"style.css\" rel=\"stylesheet\" type=\"text/css\"></head>";
            echo "<br /><p style=\"text-align: center;\">Uw bericht is verzonden !<br />";
            echo "Als het nodig is, antwoorden we snel.<br /><br />";
            echo "Groet,<br />";
            echo "<b>".$wm_naam."</b></p>";
    
    
            // formulier wordt niet weer getoond
            $Formulier = TRUE;
   
        }
    }
}
else {
    $Formulier = FALSE;
    echo "<html><head><link href=\"style.css\" rel=\"stylesheet\" type=\"text/css\" /></head><body>";
    echo "<p style=\"text-align: center;\"><h2> Spam Beveiliging </h2><br />";
    echo "U kunt ons elke $Anti_Spam minuten een bericht sturen. Dit is om spam tegen te gaan</p></body></html>";
    header("refresh:3;url=".$site."");
}

if(!isset($Formulier))
{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <link href="style.css" rel="stylesheet" type="text/css" />
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<body>
  <table class="tabel" border="1" cellpadding="5" cellspacing="0"  width="300">
        <tr>
            <td><br />
                 <form method="post" action="<? $_SERVER['PHP_SELF']; ?>">
                  <table>
                    <tr>
                        <td>&nbsp;</td>
                        <td>&nbsp;</td>
                    </tr>
                    <tr>
                        <td class="<? echo $fout_text_naam; ?>">Naam:</td>
                        <td><input type="text" class="<? echo $fout_vakje_naam; ?>" id="naam" name="naam" maxlength="20" value="<? if (!empty($naam)) { echo stripslashes($naam); } ?>" /></td>
                    </tr>
                    <tr>
                        <td class="<? echo $fout_text_email; ?>">Mail:</td>
                        <td><input type="text" class="<? echo $fout_vakje_email; ?>" id="email" name="email" maxlength="30" value="<? if (!empty($email)) { echo $email; } ?>" /></td>
                    </tr>
                    <tr>
                        <td class="<? echo $fout_text_onderwerp; ?>">Onderwerp:</td>
                        <td><input type="text" class="<? echo $fout_vakje_onderwerp; ?>" id="onderwerp" name="onderwerp" maxlength="30" value="<? if (!empty($onderwerp)) { echo stripslashes($onderwerp); } ?>" /></td>
                    </tr>
                    <tr>
                        <td valign="top" class="<? echo $fout_text_bericht; ?>">Bericht:</td>
                        <td><textarea id="bericht" name="bericht" class="<? echo $fout_vakje_bericht; ?>" cols="35" rows="6"><? if (!empty($bericht)) { echo stripslashes($bericht); } ?></textarea></td>
                    </tr>
                    <tr>
                        <td>&nbsp;</td>
                        <td><input type="submit" id="verzenden" name="verzenden" value="Verzenden" /><input type="submit" id="wis" name="wis" value="Wis velden" /></td>
                    </tr>
                  </table>
                </form>
            </td>
        </tr>
  </table>    
</body>
</html>
<?
}
?>

Of download het script via de onderstaande link
 

Bijlagen

Dit zul je toch echt in PHP moeten doen. Hieronder een scriptje:

PHP:
<?
////////////////////////////
///Contactform///
//B.Dalenoord//
/////////////////////////
ob_start(); // Voor Cookie setten, tegen spam

// Config Gedeelte
$site = "index.php";                                         // Site waarnaar je terug gaat als je een bericht hebt achtergelaten
$wm_naam = "WebMaster";                          // Webmaster naam
$wm_email = "jouw@email.com";                 // Webmaster E-mail, hier word het bericht naar toe gestuurd
$Anti_Spam = "10";                                        // Anti Spam Tijd in Minuten ( Voer "0" om de Spam Beveiliging uit te zetten )
$fout_text = TRUE;                                          // Bij Fout Text Rood maken ( TRUE voor aan, FALSE voor uit )
$fout_vakje = TRUE;                                       // Bij Fout Border om Vakje Rood maken ( TRUE voor aan, FALSE voor uit )
$html = FALSE;                                               // Een HTML email. Verander FALSE in TRUE om in te schakelen


$ip = $_SERVER['REMOTE_ADDR'];         // IP van de verstuurder
$host = gethostbyaddr($ip);                           // Host van verstuurder

// Mail Checker
function checkmail($email)
{
    $email_host = explode("@", $email);
    $email_host = $email_host[1];
    $email_resolved = gethostbyname($email_host);
    
    if($email_resolved == $email_host)
    {
        $valid = FALSE;
    }
    if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
    {
        $valid = TRUE;
    }
    else
    {
        $valid = FALSE;
    }
    return $valid;
}

// kijken of het cookie bestaat, zoja dan wordt het formulier niet getoond.
if(!isset($_COOKIE['mailformulier']))
{
    if(isset($_POST['wis']))
    {
        foreach ($_POST as $key => $value) 
        {
            unset($value);
    }
    // Alles Controleren Wanneer er op Verzenden wordt gedrukt
    if(isset($_POST['verzenden']))
    {        
        $naam = trim($_POST['naam']);
        $email = trim($_POST['email']);
        $onderwerp = trim($_POST['onderwerp']);
        $bericht = trim($_POST['bericht']);
        $fout = "";

        if($html) 
        {              
            // Bericht
            $message = "
            <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
            <html>          
            <body>
            <br /> 
            <table>
            <tr><td>Naam:</td><td>".$naam."</td></tr>
            <tr><td>Mail:</td><td><a href=\"mailto:".$email."\">".$email."</a></td></tr>
            <br />
            <tr><td>Bericht:</td><td>".$bericht."</td></tr>
            <tr><td colspan=\"2\">&nbsp;</td></tr>
            <br />
            <tr><td>Datum:</td><td>".date("d-m-Y H:i:s")."</td></tr>
            <tr><td>IP:</td><td><a href=\"http://sunny.nic.com/cgi-bin/whois?domain=".$ip."\">".$ip."</a></td></tr>
            <tr><td>Host:</td><td>".$host."</td></tr>
            </table>
            
            </body>
            </html>";
            
        }
        else 
        {
            $bericht_wrap = wordwrap ($bericht, 40, "\n", 1);
            // Bericht
            $message = "Naam: ".$naam."        \n";
            $message .= "E-mail: ".$email."     \n";
            $message .= "Bericht:\n".$bericht_wrap."     \n ";
            $message .= "               \n ";
            $message .= "Datum: ".date("d-m-Y H:i:s")." \n";
            $message .= "------------------------------------------------------- \n ";
            $message .= "IP: ".$ip."                    \n ";
            $message .= "Host: ".$host."                \n ";
        
        }
        if((empty($naam)) OR (strlen($naam) < 3) OR (eregi("[<>]", $naam)))
        {
            $fout .= "U heeft geen naam in gevuld! <br />";
            unset($naam);
            $fout_vakje_naam = "input_fout";
            $fout_text_naam = "text_fout";
        }
        if((empty($email)) OR (strlen($email) < 7) OR (eregi("[<>]", $email))) 
        {
            $fout .= "U heeft geen emailadres ingevuld! <br />";
            unset($email);
            $fout_vakje_email = "input_fout";
            $fout_text_email = "text_fout";
        }
        elseif(checkmail($email) == 0)
        {
            $fout .= "Vul een geldig emailadres in! <br />";
            unset($email);
            $fout_vakje_email = "input_fout";
            $fout_text_email = "text_fout";
        }
        if((empty($onderwerp)) OR (strlen($onderwerp) < 3) OR (eregi(">", $onderwerp)) )
        {
            $fout .= "U heeft geen onderwerp ingevuld! <br />";
            unset($onderwerp);
            $fout_vakje_onderwerp = "input_fout";
            $fout_text_onderwerp = "text_fout";
        }
        if(empty($bericht))
        {
            $fout .= "U moet wel een bericht invullen! <br />";
            unset($bericht);
            $fout_vakje_bericht = "input_fout";
            $fout_text_bericht = "text_fout";
        }
        elseif(strlen($bericht) < 30)
        {
            $fout .= "Waarom is je bericht zo kort? Probeer je me te spammen ?<br />";
            $fout_vakje_bericht = "input_fout";
            $fout_text_bericht = "text_fout";
        }
        if(!$fout_text)
        {
            unset($fout_text_naam);
            unset($fout_text_email);
            unset($fout_text_onderwerp);
            unset($fout_text_bericht);
        }
        if(!$fout_vakje)
        {
            unset($fout_vakje_naam);
            unset($fout_vakje_email);
            unset($fout_vakje_onderwerp);
            unset($fout_vakje_bericht);
        }
        if(!empty($fout))
        {
            echo "\n<p style=\"color:#FF0000;\">\n".$fout."<br />\n</p>\n"; // Weergeven van de fout(en)
        }
        else
        {
            mail($wm_email,$onderwerp,$message);
    
            // Bericht als mail succesvol is verzonden
            echo "<head><link href=\"style.css\" rel=\"stylesheet\" type=\"text/css\"></head>";
            echo "<br /><p style=\"text-align: center;\">Uw bericht is verzonden !<br />";
            echo "Als het nodig is, antwoorden we snel.<br /><br />";
            echo "Groet,<br />";
            echo "<b>".$wm_naam."</b></p>";
    
    
            // formulier wordt niet weer getoond
            $Formulier = TRUE;
   
        }
    }
}
else {
    $Formulier = FALSE;
    echo "<html><head><link href=\"style.css\" rel=\"stylesheet\" type=\"text/css\" /></head><body>";
    echo "<p style=\"text-align: center;\"><h2> Spam Beveiliging </h2><br />";
    echo "U kunt ons elke $Anti_Spam minuten een bericht sturen. Dit is om spam tegen te gaan</p></body></html>";
    header("refresh:3;url=".$site."");
}

if(!isset($Formulier))
{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <link href="style.css" rel="stylesheet" type="text/css" />
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<body>
  <table class="tabel" border="1" cellpadding="5" cellspacing="0"  width="300">
        <tr>
            <td><br />
                 <form method="post" action="<? $_SERVER['PHP_SELF']; ?>">
                  <table>
                    <tr>
                        <td>&nbsp;</td>
                        <td>&nbsp;</td>
                    </tr>
                    <tr>
                        <td class="<? echo $fout_text_naam; ?>">Naam:</td>
                        <td><input type="text" class="<? echo $fout_vakje_naam; ?>" id="naam" name="naam" maxlength="20" value="<? if (!empty($naam)) { echo stripslashes($naam); } ?>" /></td>
                    </tr>
                    <tr>
                        <td class="<? echo $fout_text_email; ?>">Mail:</td>
                        <td><input type="text" class="<? echo $fout_vakje_email; ?>" id="email" name="email" maxlength="30" value="<? if (!empty($email)) { echo $email; } ?>" /></td>
                    </tr>
                    <tr>
                        <td class="<? echo $fout_text_onderwerp; ?>">Onderwerp:</td>
                        <td><input type="text" class="<? echo $fout_vakje_onderwerp; ?>" id="onderwerp" name="onderwerp" maxlength="30" value="<? if (!empty($onderwerp)) { echo stripslashes($onderwerp); } ?>" /></td>
                    </tr>
                    <tr>
                        <td valign="top" class="<? echo $fout_text_bericht; ?>">Bericht:</td>
                        <td><textarea id="bericht" name="bericht" class="<? echo $fout_vakje_bericht; ?>" cols="35" rows="6"><? if (!empty($bericht)) { echo stripslashes($bericht); } ?></textarea></td>
                    </tr>
                    <tr>
                        <td>&nbsp;</td>
                        <td><input type="submit" id="verzenden" name="verzenden" value="Verzenden" /><input type="submit" id="wis" name="wis" value="Wis velden" /></td>
                    </tr>
                  </table>
                </form>
            </td>
        </tr>
  </table>    
</body>
</html>
<?
}
?>

Of download het script via de onderstaande link

bedank voor je script, ik verwacht dat ik er wel wat mee kan.
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan