Beste lezers,
Na heel veel zoeken op internet, proberen en aanpassen heb ik een werkend formulier met CAPTCHA kunnen maken. Er zijn echter 3 problemen:
1) het CAPTCHA image verschijnt pas na een refresh van de webpagina. Wellicht heb ik hierdoor zelfs nog minder last van SPAM maar ik begrijp het niet.
2) Als het formulier verstuurd wordt dan gebeurt dat via een email adres van mijn webhost (anonymous@server23.hosting2go.nl Lijkt me dat dit toch niet de bedoeling kan zijn?
3) (ik denk het makkelijkste) Na versturen van het formulier lukt het niet om via een klik te sluiten en weer op de homepage uit te komen.
Het webadres van de pagina is: http://www.daci-sr.com/Lidmaatschap_en_Giften/form1/Form1.php
Onderstaand het script van de pagina, de andere pagina's waarnaar wordt gerefereerd generen het CAPTCHA image en staan in dezelfde directory.
Zelf heb ik niet al te veel verstand van php en HTML dus graag in je antwoord daar rekening mee houden.
O ja (ik weet niet of dat nog wat uitmaakt) Ik gebruik Rapidweaver voor de website generatie en werk zelf op een Apple Imac met Safari als browser.
Bedankt voor jullie reacties,
Hans
Na heel veel zoeken op internet, proberen en aanpassen heb ik een werkend formulier met CAPTCHA kunnen maken. Er zijn echter 3 problemen:
1) het CAPTCHA image verschijnt pas na een refresh van de webpagina. Wellicht heb ik hierdoor zelfs nog minder last van SPAM maar ik begrijp het niet.
2) Als het formulier verstuurd wordt dan gebeurt dat via een email adres van mijn webhost (anonymous@server23.hosting2go.nl Lijkt me dat dit toch niet de bedoeling kan zijn?
3) (ik denk het makkelijkste) Na versturen van het formulier lukt het niet om via een klik te sluiten en weer op de homepage uit te komen.
Het webadres van de pagina is: http://www.daci-sr.com/Lidmaatschap_en_Giften/form1/Form1.php
Onderstaand het script van de pagina, de andere pagina's waarnaar wordt gerefereerd generen het CAPTCHA image en staan in dezelfde directory.
Zelf heb ik niet al te veel verstand van php en HTML dus graag in je antwoord daar rekening mee houden.
O ja (ik weet niet of dat nog wat uitmaakt) Ik gebruik Rapidweaver voor de website generatie en werk zelf op een Apple Imac met Safari als browser.
Bedankt voor jullie reacties,
Hans
PHP:
<h1>Contactformulier</h1>
<br />
<?php
$to = "info@daci-sr.com";
if (!isset($_POST['submit'])) {
showForm();
} else { //form submitted
$error = 0;
if(empty($_POST['name'])) {
$error = 1;
$errstr[] = "Vult u alstublieft uw naam in";
}
if(!preg_match("/^(?:[\w\d]+\.?)+@(?:(?:[\w\d]\-?)+\.)+\w{2,4}$/", $_POST['email'])) {
$error = 1;
$errstr[] = "Vult u alstublieft een geldig email adres in";
}
if(empty($_POST['message']) || preg_match("/^uw bericht hier graag$/i", $_POST['message'])) {
$error = 1;
$errstr[] = "Vult u alstublieft een bericht in";
}
if(empty($_POST['imagetext'])) {
$error = 1;
$errstr[] = "Neem de bovenstaande code over";
} else {
include "securimage.php";
$img = new securimage();
$valid = $img->check($_POST['imagetext']);
if(!$valid) {
$error = 1;
$errstr[] = "De code is niet correct";
}
}
if ($error == 1) {
echo "<left>\n<font style=\"color: #FF0000\">\n";
foreach($errstr as $err) {
echo "<li> " . $err . "</li>\n";
}
echo "</font>\n</left>\n<br />\n\n";
showForm();
} else {
@mail($to, "Contact via de site - " . $_POST['name'],
"Beste Hans,\n \nOp " . date("r") . " heeft " . $_POST['name'] . " (emailadres " . $_POST['email'] .
" ) het volgende bericht gestuurd:\n \nReden: " .
$_POST['reden'] . "\n\n" . stripslashes($_POST['message']) . "\n\n" . "Telefoonnummer: " . $_POST['telephone']);
echo "<center>\nBedankt voor uw bezoek aan onze website en uw bericht. We nemen zo spoedig mogelijk contact met u op.<br /><br />"
."Klik <a href=\"#\" onclick=\"self.close()\">hier</a> om dit venster te sluiten.";
}
} //else submitted
function showForm()
{
$_POST['message'] = @htmlspecialchars(@$_POST['message']);
echo "
<form method='POST'>
<table cellpadding='5' cellspacing='1' align='left'>
<tr>
<td colspan='2'>In verband met spam dient u éérst op de Refresh button van uw browser te drukken. Vervolgens vult u de onderstaande velden in:</td>
</tr>
<tr>
<td> Uw naam:</td>
<td align='right'><input type='text' name='name' value='{$_POST['name']}' /></td>
</tr>
<tr>
<td> Uw email adres:</td>
<td align='right'><input type='text' name='email' value='{$_POST['email']}' /></td>
</tr>
<tr>
<td> Telefoonnummer:</td>
<td align='right'><input type='text' name='telephone' value='{$_POST['telephone']}' /></td>
</tr>
<tr>
<td> De reden waarom u contact opneemt: u wilt</td>
<td align='right'><select name='reden'>
<option value='Meer informatie'>Meer informatie</option>
<option value='Lid worden'>Lid worden</option>
<option value='Donateur worden'>Donateur worden</option>
<option value='Anders'>Anders</option>
</select>
</td>
</tr>
<tr>
<td colspan='2'> Uw bericht:</td>
</tr>
<tr>
<td colspan='2'><textarea name='message' rows='8' cols='50'>{$_POST['message']}</textarea></td>
</tr>
<tr>
<td align='right' colspan='2'><img src='securimage_show.php'></td>
</tr>
<tr>
<td> Neem de bovenstaande code over:</td>
<td align='right'><input type='text' name='imagetext'/></td>
</tr>
<tr>
<td colspan='2'><input type='submit' name='submit' value=' Verstuur ' /></td>
</tr>
</table>
</form>";
}
?>
Laatst bewerkt door een moderator: