Beste mensen,

Ik nikst van php, alleen wat ik zie kan in sommige gevallen aanpassen.
Nu ben ik voor een contactformulier waarvan ik de code via via van dit forum heb gekregen op zoek naar een tekst om een checkbox met keuze om het bericht dat je verstuurd ook naar jezelf kan sturen,ik zie door het bos de bomen niet meer en kom ten lange laatste hier om hulp vragen, als dat mag.....
Hieronder de code van het bewuste formulier.

Met dank bij voorbaat,

Jean-Pierre.

<?php
session_start(); // zorg ervoor dat session_start ALTIJD bovenaan ALLES van je pagina staat, anders werkt het niet!

/*******************************
* CONTACT FORMULIER *
* contactformulier.php *
* *
* Author: Miranda Verburg *
* Datum: 10 september 2010 *
* *
* Pas het e-mail adres aan *
* bij $mail_ontv en upload *
* het naar je webserver.. *
********************************/
// E-mailadres van de ontvanger
$mail_ontv = 'mijn naam'; // <<<----- voer jouw e-mailadres hier in!

// Speciale checks voor naam en e-mailadres
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
// naam controle
if (empty($_POST['naam']))
$naam_fout = 1;
// straat controle
if (empty($_POST['straat']))
$straat_fout = 1;
// huisnr controle
if (empty($_POST['huisnr']))
$huisnr_fout = 1;
// gemeente controle
if (empty($_POST['gemeente']))
$gemeente_fout = 1;
// postc controle
if (empty($_POST['postc']))
$postc_fout = 1;
// telefoon controle
if (empty($_POST['telefoon']))
$telefoon_fout = 1;
// e-mail controle
if (function_exists('filter_var') && !filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL))
$email_fout = 1;
// antiflood controle
if (!empty($_SESSION['antiflood']))
{
$seconde = 20; // 20 seconden voordat dezelfde persoon nog een keer een e-mail mag versturen
$tijd = time() - $_SESSION['antiflood'];
if($tijd < $seconde)
$antiflood = 1;
}
}

// Kijk of alle velden zijn ingevuld - naam mag alleen uit letters bestaan en het e-mailadres moet juist zijn
if (($_SERVER['REQUEST_METHOD'] == 'POST' && (!empty($antiflood) || empty($_POST['naam']) || !empty($naam_fout) || empty($_POST['straat']) || !empty($straat_fout) || empty($_POST['huisnr']) || !empty

($huisnr_fout) || empty($_POST['gemeente']) || !empty($gemeente_fout) || empty($_POST['postc']) || !empty($postc_fout) || empty($_POST['telefoon']) || !empty($telefoon_fout) || empty($_POST['mail']) || !empty

($email_fout) || empty($_POST['bericht']) || empty($_POST['onderwerp']))) || $_SERVER['REQUEST_METHOD'] == 'GET')
{
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (!empty($naam_fout))
echo "<span style=\"color: red;\">Uw naam is niet ingevuld.</span><p>";
elseif (!empty($straat_fout))
echo "<span style=\"color: red;\">Straatnaam is niet ingevuld.</span><p>";
elseif (!empty($huisnr_fout))
echo "<span style=\"color: red;\">Huisnummer is niet ingevuld.</span><p>";
elseif (!empty($gemeente_fout))
echo "<span style=\"color: red;\">Gemeente is niet ingevuld.</span><p>";
elseif (!empty($postc_fout))
echo "<span style=\"color: red;\">Postcode is niet ingevuld.</span><p>";
elseif (!empty($telefoon_fout))
echo "<span style=\"color: red;\">Uw telefoonnummer is niet ingevuld.</span><p>";
elseif (!empty($email_fout))
echo "<span style=\"color: red;\">Uw e-mailadres is niet juist.</span><p>";
elseif (!empty($antiflood))
echo '<p>U mag slechts &eacute;&eacute;n bericht per ' . $seconde . ' seconde versturen.</p>';
else
echo "<span style=\"color: red;\">Je bent het onderwerp of bericht vergeten in te vullen.</span><p>";
}

// HTML e-mail formlier
echo '<form method="post" action="' . $_SERVER['REQUEST_URI'] . '" />
<p>
<p><label for="naam"><p> Verplicht in te vullen </label>(<font color="red">*</font>)<br /></p>

<label for="naam">Naam: </label> (<font color="red">*</font>)<br />
<input type="text" id="naam" name="naam" size="40" value="' . (isset($_POST['naam']) ? htmlspecialchars($_POST['naam']) : '') . '" /><br />

<label for="straat">Straatnaam: </label>(<font color="red">*</font>)<br />
<input type="text" id="straat" name="straat" size="40" value="' . (isset($_POST['straat']) ? htmlspecialchars($_POST['straat']) : '') . '" /><br />

<label for="huisnr">Huisnummer: </label>(<font color="red">*</font>)<br />
<input type="text" id="huisnr" name="huisnr" size="40" value="' . (isset($_POST['huisnr']) ? htmlspecialchars($_POST['huisnr']) : '') . '" /><br />

<label for="gemeente">Gemeente: </label>(<font color="red">*</font>)<br />
<input type="text" id="gemeente" name="gemeente" size="40" value="' . (isset($_POST['gemeente']) ? htmlspecialchars($_POST['gemeente']) : '') . '" /><br />

<label for="postc">Postcode: </label>(<font color="red">*</font>)<br />
<input type="text" id="postc" name="postc" size="40" value="' . (isset($_POST['postc']) ? htmlspecialchars($_POST['postc']) : '') . '" /><br />

<label for="telefoon">Telefoonnr: </label>(<font color="red">*</font>)<br />
<input type="text" id="telefoon" name="telefoon" size="40" value="' . (isset($_POST['telefoon']) ? htmlspecialchars($_POST['telefoon']) : '') . '" /><br />

<label for="mail">E-mailadres: </label>(<font color="red">*</font>)<br />
<input type="text" id="mail" name="mail" size="40" value="' . (isset($_POST['mail']) ? htmlspecialchars($_POST['mail']) : '') . '" /><br /><br />

<label for="onderwerp">Onderwerp: </label>(<font color="red">*</font>)<br />
<input type="text" id="onderwerp" name="onderwerp" size="40" value="' . (isset($_POST['onderwerp']) ? htmlspecialchars($_POST['onderwerp']) : '') . '" /><br />

<label for="bericht">Uw bericht: </label>(<font color="red">*</font>)<br />
<textarea id="bericht" name="bericht" rows="8" style="width: 400px;">' . (isset($_POST['bericht']) ? htmlspecialchars($_POST['bericht']) : '') . '</textarea><br /><br />

<input type="submit" STYLE="color: yellow; background-color: forestgreen;" value="Verzenden" name="submit">

</p>
</form>';
}
// versturen naar
else
{
// set datum
$datum = date('d/m/Y H:i:s');

$inhoud_mail .= "Naam: " . htmlspecialchars($_POST['naam']) . "\n";
$inhoud_mail .= "Straatnaam: " . htmlspecialchars($_POST['straat']) . "\n";
$inhoud_mail .= "Huisnummer: " . htmlspecialchars($_POST['huisnr']) . "\n";
$inhoud_mail .= "Gemeente: " . htmlspecialchars($_POST['gemeente']) . "\n";
$inhoud_mail .= "Postcode: " . htmlspecialchars($_POST['postc']) . "\n";
$inhoud_mail .= "Telefoonnr: " . htmlspecialchars($_POST['telefoon']) . "\n";
$inhoud_mail .= "E-mail adres: " . htmlspecialchars($_POST['mail']) . "\n";
$inhoud_mail .= "Onderwerp: " . htmlspecialchars($_POST['onderwerp']) . "\n";
$inhoud_mail .= "Bericht:\n";
$inhoud_mail .= htmlspecialchars($_POST['bericht']) . "\n\n";

$inhoud_mail .= "Verstuurd op " . $datum . " via het IP adres " . $_SERVER['REMOTE_ADDR'] . "\n\n";

$inhoud_mail .= "===================================================\n\n";

// --------------------
// spambot protectie
// ------
// van de tutorial: http://www.phphulp.nl/php/tutorial/beveiliging/spam-vrije-contact-formulieren/340/
// ------

$headers = 'From: ' . htmlspecialchars($_POST['naam']) . ' <' . $_POST['mail'] . '>';

$headers = stripslashes($headers);
$headers = str_replace('\n', '', $headers); // Verwijder \n
$headers = str_replace('\r', '', $headers); // Verwijder \r
$headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes

$_POST['onderwerp'] = str_replace('\n', '', $_POST['onderwerp']); // Verwijder \n
$_POST['onderwerp'] = str_replace('\r', '', $_POST['onderwerp']); // Verwijder \r
$_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes

if (mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers))
{
// zorg ervoor dat dezelfde persoon niet kan spammen
$_SESSION['antiflood'] = time();

echo "<span style=\"color: green;\">'<h1>Het contactformulier is verzonden</h1>
<p>Bedankt voor het invullen van het contactformulier. We zullen zo spoedig mogelijk contact met u opnemen.</span></p>";
}
else
{
echo "<span style=\"color: orangered;\">'<h1>Het contactformulier is niet verzonden</h1>
<p>Onze excuses. Het contactformulier kon niet verzonden worden.</span></p>";
}
}
?>


[size=xsmall]Toevoeging op 11/06/2013 17:18:42:[/size]

Na bijna 24 wachten op enerlei hulp hou ik er wel een wrang gevoel aan over, heb ik iets verkeerd gedaan, heb ik te veel gevraagd, ben ik niet slim genoeg.....
Je zou allereerst je vraagstelling kunnen verduidelijken.

Ik begrijp goed dat je de mogelijkheid wilt creƫren voor gebruikers dat ze een kopie van de email ontvangen.

Dit kan je doen door in je html formulier <input type="checkbox"... etc. een extra checkbox toe te voegen voor 'kopie verzenden'.

Vervolgens kan je ervoor kiezen om de mail functie op regel 156 2x uit te voeren waarbij de 2e keer voor de kopie is als deze geselecteerd is. Is niet een hele nette oplossing, maar ik denk dat dat er nu even niet toe doet.

Daarnaast een praktische tip:
Gebruik de goed email headers (http://phpwiki.santhe.nl/index.php/De_juiste_mailheaders)

Voorbeeld van het bovenstaande:
Een checkbox voor de kopie en een veld voor het emailadres toevoegen in je formulier:

<input type="checkbox" name="kopie" value="kopie" />

<input type="text" name="emailadres" />


Vervolgens een stukje php om te controleren of de checkbox geselecteerd is:
<?php
//controleren of kopie is geselecteed
if($_POST['kopie'] == TRUE){

// indien ja, voer mail nogmaals uit:
mail($_POST['emailadres'], $_POST['onderwerp'], $inhoud_mail, $headers);
}
?>
[/code]

Als je dit in je code verwerkt kom je al een heel eind.

Reageren