PHP gevorderde |
|
<?
ob_start(); // Voor het cookie setten, anders zal dat hoogst waarschijnlijk niet werken.
$cNaam = 'Bas'; // Je naam...
$cEmail = 'basvandenhooff@gmail.com'; // email waar het heen moet
$cOndPre = 'Contactformulier Arttractive-'; // prefix voor onderwerp
$cOndSuf = '-'; // suffix achter onderwerp
$cSpam = 0; // Anti Spam, X aantal minuten
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>
<head> </font></p>
<p>
<title>Mail Formulier</title>
<style type="text/css">
body, input, textarea
{
font-size: 10pt;
color: #BD9B7F;
font-family: Verdana, Arial, Helvatica;
}
input, textarea
{
border: 1px solid black;
background-color: #FEFEFE;
}
</style></head>
<body>
<?
if(isset($_POST['verstuur']))
{ // Er is op de knop 'verstuur e-mail' gedrukt...
$pError = ''; // Een begin met de errors als die er zijn
$pI = 0; // Deze telt het aantal erros.
if(strlen($_POST['naam']) < 2)
{ $pError .= '- Naam<br>'; $pI++; }
if(strlen($_POST['email']) < 6 || !ereg('@',$_POST['email']) || !ereg('.',$_POST['email']))
{ $pError .= '- E-mail adres<br>'; $pI++; }
if(strlen($_POST['onderwerp']) < 3)
{ $pError .= '- Onderwerp<br>'; $pI++; }
if(strlen($_POST['bericht']) < 10)
{ $pError .= '- Bericht<br>'; $pI++; }
$sFile = strtolower(end(explode('.', $_FILES['upload']['name'])));
if (in_array(array('image/gif', 'image/png', 'image/jpeg', 'image/jepg'), array_change_key_case($sFile, CASE_LOWER)))
{
$pError .= '- De extensie van het bestand dat je mee wilden sturen is niet correct.';
}
if(!empty($pError))
{ // Als er dan toch errors zijn..
echo ($pI == 1) ? 'Het volgende veld is incorrect ingevuld:<br>' : 'De volgende velden zijn incorrect ingevuld:<br>'; // even kijken of het meervoud of enkelvoud is.
echo $pError; // echoën van de error(s)
}
else
{
// uiteindelijk toch mailen
$pHeader = "MIME-Version: 1.0\r\n";
$pHeader .= "Content-type: text/html; charset=iso-8859-1\r\n";
$pHeader .= "To: ".$cNaam." <".$cEmail.">\r\n";
$pHeader .= "From: ".$_POST['naam']." <".$_POST['email'].">\r\n";
$website = (!empty($_POST['website'])) ? '<br><br>Website: '.$_POST['website'] : '';
$pBericht = 'Het verstuurde bericht naar Arttractive:'
.$_POST['bericht'].$website;
mail($cEmail,$cOndPre.' '.$_POST['onderwerp'].' '.$cOndSuf,$pBericht,$pHeader);
if(isset($_POST['usermail']))
{ // Als de persoon het vakje 'Ook naar mezelf mailen' heeft aangevinkt...
$pBerichtUser = 'Het verstuurde bericht:'.$_POST['bericht'];
mail($_POST['email'],$cOndPre.' '.$_POST['onderwerp'].' '.$cOndSuf,$pBerichtUser,$pHeader);
}
echo 'Bedankt voor uw interesse in Arttractive, wij streven ernaar binnen een werkdag inhoudelijk te reageren.';
setcookie('mailform',1,time()+($cSpam*60)); // cookie zetten tegen spam
$pShow = true; // formulier wordt niet weer getoond
}
}
// Kijken of er een waarde moet worden gegeven aan velden...
$pNaam = (isset($_POST['naam'])) ? $_POST['naam'] : '';
$pEmail = (isset($_POST['email'])) ? $_POST['email'] : '';
$pWebsite = (isset($_POST['website'])) ? $_POST['website'] : '';
$pOnderwerp = (isset($_POST['onderwerp'])) ? $_POST['onderwerp'] : '';
$pBericht = (isset($_POST['bericht'])) ? $_POST['bericht'] : '';
// kijken of het cookie bestaat, zoja dan wordt het formulier niet getoond.
if(isset($_COOKIE['mailform']))
{ $pShow = true; echo 'Je kunt maar eens in de '.$cSpam.' minuten een e-mail versturen!'; }
if(!isset($pShow))
{ // het formulier als $pShow niet bestaat.
?>
<form method="post" action="<?= $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
<dl>
<dt><b>Uw naam:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
<dd>
<input type="text" name="naam" size="15" value="<?= $pNaam; ?>">
</dd>
<dt><b>E-mail:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
<dd>
<input type="text" name="email" size="15" value="<?= $pEmail; ?>">
</dd>
<dt><b>Website:</b></dt>
<dd>
<input type="text" name="website" size="15" value="<?= $pWebsite; ?>">
</dd>
<dt><b>Onderwerp:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
<dd>
<input type="text" name="onderwerp" size="15" value="<?= $pOnderwerp; ?>">
</dd>
<dt><b>Bericht:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
<dd>
<textarea name="bericht" cols="40" rows="10"><?= $pBericht; ?></textarea>
</dd>
<dt> </dt>
<dd>
<input type="file" name="upload" size="40">
<?= $pFile; ?></upload>
</dd>
<dt> </dt>
<dd>
<input type="submit" value="Verstuur e-mail" name="verstuur">
<input type="reset" value="Wis velden">
</dd>
</dl>
</form>
<?php
}
?>
<? ob_start(); // Voor het cookie setten, anders zal dat hoogst waarschijnlijk niet werken. $cNaam = 'Bas'; // Je naam... $cEmail = 'basvandenhooff@gmail.com'; // email waar het heen moet $cOndPre = 'Contactformulier Arttractive-'; // prefix voor onderwerp $cOndSuf = '-'; // suffix achter onderwerp $cSpam = 0; // Anti Spam, X aantal minuten ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> </font></p> <p> <title>Mail Formulier</title> <style type="text/css"> body, input, textarea { font-size: 10pt; color: #BD9B7F; font-family: Verdana, Arial, Helvatica; } input, textarea { border: 1px solid black; background-color: #FEFEFE; } </style></head> <body> <? if(isset($_POST['verstuur'])) { // Er is op de knop 'verstuur e-mail' gedrukt... $pError = ''; // Een begin met de errors als die er zijn $pI = 0; // Deze telt het aantal erros. if(strlen($_POST['naam']) < 2) { $pError .= '- Naam<br>'; $pI++; } if(strlen($_POST['email']) < 6 || !ereg('@',$_POST['email']) || !ereg('.',$_POST['email'])) { $pError .= '- E-mail adres<br>'; $pI++; } if(strlen($_POST['onderwerp']) < 3) { $pError .= '- Onderwerp<br>'; $pI++; } if(strlen($_POST['bericht']) < 10) { $pError .= '- Bericht<br>'; $pI++; } { $pError .= '- De extensie van het bestand dat je mee wilden sturen is niet correct.'; } { // Als er dan toch errors zijn.. echo ($pI == 1) ? 'Het volgende veld is incorrect ingevuld:<br>' : 'De volgende velden zijn incorrect ingevuld:<br>'; // even kijken of het meervoud of enkelvoud is. echo $pError; // echoën van de error(s) } else { // uiteindelijk toch mailen $pHeader = "MIME-Version: 1.0\r\n"; $pHeader .= "Content-type: text/html; charset=iso-8859-1\r\n"; $pHeader .= "To: ".$cNaam." <".$cEmail.">\r\n"; $pHeader .= "From: ".$_POST['naam']." <".$_POST['email'].">\r\n"; $website = (!empty($_POST['website'])) ? '<br><br>Website: '.$_POST['website'] : ''; $pBericht = 'Het verstuurde bericht naar Arttractive:' .$_POST['bericht'].$website; mail($cEmail,$cOndPre.' '.$_POST['onderwerp'].' '.$cOndSuf,$pBericht,$pHeader); if(isset($_POST['usermail'])) { // Als de persoon het vakje 'Ook naar mezelf mailen' heeft aangevinkt... $pBerichtUser = 'Het verstuurde bericht:'.$_POST['bericht']; mail($_POST['email'],$cOndPre.' '.$_POST['onderwerp'].' '.$cOndSuf,$pBerichtUser,$pHeader); } echo 'Bedankt voor uw interesse in Arttractive, wij streven ernaar binnen een werkdag inhoudelijk te reageren.'; setcookie('mailform',1,time()+($cSpam*60)); // cookie zetten tegen spam $pShow = true; // formulier wordt niet weer getoond } } // Kijken of er een waarde moet worden gegeven aan velden... $pNaam = (isset($_POST['naam'])) ? $_POST['naam'] : ''; $pEmail = (isset($_POST['email'])) ? $_POST['email'] : ''; $pWebsite = (isset($_POST['website'])) ? $_POST['website'] : ''; $pOnderwerp = (isset($_POST['onderwerp'])) ? $_POST['onderwerp'] : ''; $pBericht = (isset($_POST['bericht'])) ? $_POST['bericht'] : ''; // kijken of het cookie bestaat, zoja dan wordt het formulier niet getoond. if(isset($_COOKIE['mailform'])) { $pShow = true; echo 'Je kunt maar eens in de '.$cSpam.' minuten een e-mail versturen!'; } { // het formulier als $pShow niet bestaat. ?> <form method="post" action="<?= $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data"> <dl> <dt><b>Uw naam:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt> <dd> <input type="text" name="naam" size="15" value="<?= $pNaam; ?>"> </dd> <dt><b>E-mail:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt> <dd> <input type="text" name="email" size="15" value="<?= $pEmail; ?>"> </dd> <dt><b>Website:</b></dt> <dd> <input type="text" name="website" size="15" value="<?= $pWebsite; ?>"> </dd> <dt><b>Onderwerp:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt> <dd> <input type="text" name="onderwerp" size="15" value="<?= $pOnderwerp; ?>"> </dd> <dt><b>Bericht:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt> <dd> <textarea name="bericht" cols="40" rows="10"><?= $pBericht; ?></textarea> </dd> <dt> </dt> <dd> <input type="file" name="upload" size="40"> <?= $pFile; ?></upload> </dd> <dt> </dt> <dd> <input type="submit" value="Verstuur e-mail" name="verstuur"> <input type="reset" value="Wis velden"> </dd> </dl> </form> <?php } ?>
hij doet het nu perfect, je moet alleen de variables in het begein van het script even veranderen (je naam, email, onderwerp). |