sane
12 January 2009, 01:52
hallo,
ik probeer een mailform op mijn site te krijgen met volgende vereiste;
*controle voor versturen(alle velden invullen verplicht)
*mail ook naar afzender versturen
heb onderstaand php form gevonden maar er schort wat aan?
*verzender en ontvanger krijgen beiden 2x de verzonden mail?
ik vind niet waar dit aan ligt?ben php.newb
<?
ob_start();
$cNaam = 'mijn site';
$cEmail = 'mijnemail@telenet.be';
$cOndPre = 'Vraag -';
$cOndSuf = '- voor mij';
$cSpam = 10;
?>
<?
if(!empty($_POST['verstuur']))
{
$pError = '';
$pI = 0;
if(strlen($_POST['naam']) < 2)
{ $pError .= '- Je hebt je naam niet ingevuld!<br>'; $pI++; }
if(strlen($_POST['email']) < 6 || !ereg('@',$_POST['email']) || !ereg('.',$_POST['email']))
{ $pError .= '- Je hebt geen geldig email-adres ingevuld!<br>'; $pI++; }
if(strlen($_POST['onderwerp']) < 3)
{ $pError .= '- Je hebt geen geldig onderwerp ingevuld!<br>'; $pI++; }
if(strlen($_POST['bericht']) < 10)
{ $pError .= '- Je hebt geen geldig bericht ingevuld!<br>'; $pI++; }
if(!empty($pError))
{
echo ($pI == 1) ? 'De volgende fout is opgetreden:<br>' : 'De volgende fouten zijn opgetreden:<br>';
echo $pError;
}
else
{
$pHeader = "MIME-Version: 1.0\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 = 'Vraag voor mij:'.$_POST['bericht'].$website;
mail($cEmail,$cOndPre.' '.$_POST['onderwerp'].' '.$cOndSuf,$pBericht,$pHeader);
if(isset($_POST['usermail']))
{
$pBerichtUser = 'U heeft volgend bericht verstuurd naar mij:'.$_POST['bericht'];
mail($_POST['email'],$cOndPre.' '.$_POST['onderwerp'].' '.$cOndSuf,$pBerichtUser,$pHeader);
}
echo 'De e-mail is succesvol verzonden!';
setcookie('mailform',1,time()+($cSpam*60));
$pShow = true;
}
}
$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'] : '';
if(isset($_COOKIE['mailform']))
{ $pShow = true; echo 'Je kunt maar eens in de '.$cSpam.' minuten een e-mail versturen!'; }
if(!isset($pShow))
{
?>
<form method="post" action="<?= $_SERVER['PHP_SELF']; ?>">
<dl>
<dt><b>Naam:</b> <font color="#999999"><i>(verplicht)</i></font></dt>
<dd><input type="text" name="naam" size="15" value="<?= $pNaam; ?>"></dd>
<dt><b>Email:</b> <font color="#999999"><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="#999999"><i>(verplicht)</i></font></dt>
<dd><input type="text" name="onderwerp" size="15" value="<?= $pOnderwerp; ?>"></dd>
<dt><b>Bericht:</b> <font color="#999999"><i>(verplicht)</i></font></dt>
<dd><textarea name="bericht" cols="40" rows="10"><?= $pBericht; ?></textarea></dd>
<dt><b>Ook naar mezelf mailen:</b></dt>
<dd><input type="checkbox" name="usermail"></dd>
<dt><b>Formulier opties:</b></dt>
<dd>
<input type="submit" value="Verstuur e-mail" name="verstuur"> <input type="reset" value="Wis velden"></dd>
</dl>
</form>
<?
}
?>
*en dan wou ik graag weten hoe ik dit kan intigreren in mijn html pag?
zodat het in te vullen veld enkel zichtbaar is in de "content" van mijn pag en ook de pagina met"uw mail is verzonden"
ik weet dat ik dan ergens moet linken naar een lege pagina die ik zelf opbouw volgens style van mijn site,maar heb geen flauw idee waar ik die"link" moet gaan plaatsen in het php.form?
voor de rest werkt het form wel zoals ik het graag zag.
alvast bedankt voor de hulp.
Gr.Sane
ik probeer een mailform op mijn site te krijgen met volgende vereiste;
*controle voor versturen(alle velden invullen verplicht)
*mail ook naar afzender versturen
heb onderstaand php form gevonden maar er schort wat aan?
*verzender en ontvanger krijgen beiden 2x de verzonden mail?
ik vind niet waar dit aan ligt?ben php.newb
<?
ob_start();
$cNaam = 'mijn site';
$cEmail = 'mijnemail@telenet.be';
$cOndPre = 'Vraag -';
$cOndSuf = '- voor mij';
$cSpam = 10;
?>
<?
if(!empty($_POST['verstuur']))
{
$pError = '';
$pI = 0;
if(strlen($_POST['naam']) < 2)
{ $pError .= '- Je hebt je naam niet ingevuld!<br>'; $pI++; }
if(strlen($_POST['email']) < 6 || !ereg('@',$_POST['email']) || !ereg('.',$_POST['email']))
{ $pError .= '- Je hebt geen geldig email-adres ingevuld!<br>'; $pI++; }
if(strlen($_POST['onderwerp']) < 3)
{ $pError .= '- Je hebt geen geldig onderwerp ingevuld!<br>'; $pI++; }
if(strlen($_POST['bericht']) < 10)
{ $pError .= '- Je hebt geen geldig bericht ingevuld!<br>'; $pI++; }
if(!empty($pError))
{
echo ($pI == 1) ? 'De volgende fout is opgetreden:<br>' : 'De volgende fouten zijn opgetreden:<br>';
echo $pError;
}
else
{
$pHeader = "MIME-Version: 1.0\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 = 'Vraag voor mij:'.$_POST['bericht'].$website;
mail($cEmail,$cOndPre.' '.$_POST['onderwerp'].' '.$cOndSuf,$pBericht,$pHeader);
if(isset($_POST['usermail']))
{
$pBerichtUser = 'U heeft volgend bericht verstuurd naar mij:'.$_POST['bericht'];
mail($_POST['email'],$cOndPre.' '.$_POST['onderwerp'].' '.$cOndSuf,$pBerichtUser,$pHeader);
}
echo 'De e-mail is succesvol verzonden!';
setcookie('mailform',1,time()+($cSpam*60));
$pShow = true;
}
}
$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'] : '';
if(isset($_COOKIE['mailform']))
{ $pShow = true; echo 'Je kunt maar eens in de '.$cSpam.' minuten een e-mail versturen!'; }
if(!isset($pShow))
{
?>
<form method="post" action="<?= $_SERVER['PHP_SELF']; ?>">
<dl>
<dt><b>Naam:</b> <font color="#999999"><i>(verplicht)</i></font></dt>
<dd><input type="text" name="naam" size="15" value="<?= $pNaam; ?>"></dd>
<dt><b>Email:</b> <font color="#999999"><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="#999999"><i>(verplicht)</i></font></dt>
<dd><input type="text" name="onderwerp" size="15" value="<?= $pOnderwerp; ?>"></dd>
<dt><b>Bericht:</b> <font color="#999999"><i>(verplicht)</i></font></dt>
<dd><textarea name="bericht" cols="40" rows="10"><?= $pBericht; ?></textarea></dd>
<dt><b>Ook naar mezelf mailen:</b></dt>
<dd><input type="checkbox" name="usermail"></dd>
<dt><b>Formulier opties:</b></dt>
<dd>
<input type="submit" value="Verstuur e-mail" name="verstuur"> <input type="reset" value="Wis velden"></dd>
</dl>
</form>
<?
}
?>
*en dan wou ik graag weten hoe ik dit kan intigreren in mijn html pag?
zodat het in te vullen veld enkel zichtbaar is in de "content" van mijn pag en ook de pagina met"uw mail is verzonden"
ik weet dat ik dan ergens moet linken naar een lege pagina die ik zelf opbouw volgens style van mijn site,maar heb geen flauw idee waar ik die"link" moet gaan plaatsen in het php.form?
voor de rest werkt het form wel zoals ik het graag zag.
alvast bedankt voor de hulp.
Gr.Sane