Hulp met formulier

Status
Niet open voor verdere reacties.

Jonhie

Gebruiker
Lid geworden
24 feb 2011
Berichten
6
Hallo,

Ik ben met een formulier bezig ik heb de simpele versie aan de praat.

Nu dacht ik ik ga alles kopiëren vervangen en klaar dan heb ik een formulier zoals ik wil. maar dat is niet echt gelukt.

(Op deze site werkt het formulier)

Wat ik wil is
[CPP]<p><form name="contactform" method="post" action="verzenden.php">
<table width="340" align="center">
</tr>
<tr>
<td height="27" valign="top">
<label for="first_name">Voornaam *</label> </td>
<td height="27" valign="top">
<input name="first_name" type="text" class="velden" size="30" maxlength="50"> </td>
</tr>
<tr>
<td height="27" valign="top"">
<label for="last_name">Achternaam *</label> </td>
<td height="27" valign="top">
<input name="last_name" type="text" class="velden" size="30" maxlength="50"> </td>
</tr>
<tr>
<td height="27" valign="top"">
<label for="insertion">Tussenvoegsel</label> </td>
<td height="27" valign="top">
<input name="insertion" type="text" class="velden" size="30" maxlength="50"> </td>
</tr>
<tr>
<td height="27" valign="top">
<label for="nicknamee">Roepnaam</label> </td>
<td height="27" valign="top">
<input name="nickname" type="text" class="velden" size="30" maxlength="30"> </td>
</tr>
<tr>
<td height="27" valign="top">
<label for="initials">Voorletters</label> </td>
<td height="27" valign="top">
<input name="initials" type="text" class="velden" size="30" maxlength="30"> </td>
</tr>
<tr>
<td height="27" valign="top">
<label for="sex">Geslacht</label> </td>
<td height="27" valign="top">
<input name="sex" type="text" class="velden" size="30" maxlength="30"> </td>
</tr>
<tr>
<td height="27" valign="top">
<label for="date_of_birth">Geboortedatum</label> </td>
<td height="27" valign="top">
<input name="date_of_birth" type="text" class="velden" size="30" maxlength="30"> </td>
</tr>
<tr>
<td height="27" valign="top">
<label for="street_name">Straatnaam</label> </td>
<td height="27" valign="top">
<input name="street_name" type="text" class="velden" size="30" maxlength="30"> </td>
</tr>
<tr>
<td height="27" valign="top">
<label for="number">Huisnummer</label> </td>
<td height="27" valign="top">
<input name="number" type="text" class="velden" size="30" maxlength="30"> </td>
</tr>
<tr>
<td height="27" valign="top">
<label for="postal_code">Postcode</label> </td>
<td height="27" valign="top">
<input name="postal_code" type="text" class="velden" size="30" maxlength="30"> </td>
</tr>
<tr>
<td height="27" valign="top">
<label for="abode">Woonplaats</label> </td>
<td height="27" valign="top">
<input name="abode" type="text" class="velden" size="30" maxlength="30"> </td>
</tr>
<tr>
<td height="27" valign="top">Tel. Mobiel</td>
<td height="27" valign="top">
<input name="telephone" type="text" class="velden" size="30" maxlength="30"> </td>
</tr>
<tr>
<td height="27" valign="top">
<label for="education">Soort Opleiding</label> </td>
<td height="27" valign="top">
<input name="education" type="text" class="velden" size="30" maxlength="30"> </td>
</tr>
<tr>
<td height="27" valign="top">
<label for="experience">Rijervaring</label> </td>
<td height="27" valign="top">
<input name="experience" type="text" class="velden" size="30" maxlength="30"> </td>
</tr>
<tr>
<td height="27" valign="top">BSN Nr.</td>
<td height="27" valign="top">
<input name="bsn" type="text" class="velden" size="30" maxlength="30"> </td>
</tr>
<tr>
<td height="27" valign="top">
<label for="email">Email Adres *</label> </td>
<td height="27" valign="top">
<input name="email" type="text" class="velden" size="30" maxlength="80"> </td>
<tr>
<td height="27">&nbsp;</td>
<td height="27"><input name="submit" type="submit" class="verzend" value="Verzenden" /></td>
</tr>
</table>[/CPP]

met als verzend code

[CPP] <?php


if(isset($_POST['email'])) {

// Pas deze twee regels aan.
$email_to = "dosoderland@gmail.com";
$email_subject = "Aanmelding";


function died($error) {
// je foutbericht staat hier
echo "Het spijt ons, vanwege een fout is het formulier niet verzonden. ";
echo "Deze fout(en) tonen zich hieronder.<br /><br />";
echo $error."<br /><br />";
echo "Ga aub terug om de velden correct in te vullen.<br /><br />";
die();
}

// validation expected data exists
if(!isset($_POST['first_name']) ||
!isset($_POST['last_name']) ||
!isset($_POST['insertion']) ||
!isset($_POST['nickname']) ||
!isset($_POST['initials']) ||
!isset($_POST['sex']) ||
!isset($_POST['date_of_birth']) ||
!isset($_POST['street_name']) ||
!isset($_POST['number']) ||
!isset($_POST['postal_code']) ||
!isset($_POST['abode']) ||
!isset($_POST['telephone']) ||
!isset($_POST['work']) ||
!isset($_POST['education']) ||
!isset($_POST['experience']) ||
!isset($_POST['bsn']) ||
!isset($_POST['email'])) {
died('Het spijt ons, er is een probleem opgetredn bij het verzenden van het formulier.');
}

$first_name = $_POST['first_name']; // verplicht
$last_name = $_POST['last_name']; // verplicht
$insertion = $_POST['insertion']; // niet verplicht
$nickname = $_POST['nickname']; // verplicht
$initials = $_POST['initials']; // verplicht
$sex = $_POST['sex']; // verplicht
$date_of_birth = $_POST['date_of_birth']; // verplicht
$street_name = $_POST['street_name']; // verplicht
$number = $_POST['number']; // verplicht
$postal_code= $_POST['postal_code']; // verplicht
$abode = $_POST['abode']; // verplicht
$telephone = $_POST['telephone']; // verplicht
$work = $_POST['work']; // niet verplicht
$education = $_POST['education']; // verplicht
$experience = $_POST['experience']; // verplicht
$bsn = $_POST['bsn']; // niet verplicht
$email_from = $_POST['email']; // verplicht



$error_message = "";
$email_exp = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$";
if(!eregi($email_exp,$email_from)) {
$error_message .= 'Het emailadres is niet geldig.<br />';
}
$string_exp = "^[a-z .'-]+$";
if(!eregi($string_exp,$first_name)) {
$error_message .= 'De voornaam is niet geldig.<br />';
}
if(!eregi($string_exp,$last_name)) {
$error_message .= 'De achternaam is niet geldig.<br />';
}
if(!eregi($string_exp,$insertion)) {
$error_message .= 'De tussenvoegsel is niet geldig.<br />';
}
if(!eregi($string_exp,$nickname)) {
$error_message .= 'De roepnaam is niet geldig.<br />';
}
if(!eregi($string_exp,$initials)) {
$error_message .= 'De voorletter is niet geldig.<br />';
}
if(!eregi($string_exp,$sex)) {
$error_message .= 'De geslacht is niet geldig.<br />';
}
if(!eregi($string_exp,$street_name)) {
$error_message .= 'De straat naam is niet geldig.<br />';
}
if(!eregi($string_exp,$abode)) {
$error_message .= 'De woonplaats is niet geldig.<br />';
}
if(!eregi($string_exp,$education)) {
$error_message .= 'De opleiding is niet geldig.<br />';
}
if(!eregi($string_exp,$experience)) {
$error_message .= 'De ervaring is niet geldig.<br />';
}
$string_exp = "^[0-9 .-]+$";
if(!eregi($string_exp,$telephone)) {
$error_message .= 'Het telefoonnummer is niet geldig.<br />';
}
if(!eregi($string_exp,$date_of_birth)) {
$error_message .= 'Het geboortedatum is niet geldig.<br />';
}
if(!eregi($string_exp,$postal_code)) {
$error_message .= 'Het post code is niet geldig.<br />';
}
if(!eregi($string_exp,$number)) {
$error_message .= 'Het huisnummer is niet geldig.<br />';
}
if(!eregi($string_exp,$work)) {
$error_message .= 'Het tel werk is niet geldig.<br />';
}
if(!eregi($string_exp,$bsn)) {
$error_message .= 'Het bsn nummer is niet geldig.<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Gegevens formulier.\n\n";

function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}

$email_message .= "Voornaam: ".clean_string($first_name)."\n";
$email_message .= "Achternaam: ".clean_string($last_name)."\n";
$email_message .= "Tussenvoegsel: ".clean_string($insertion)."\n";
$email_message .= "Roepnaam: ".clean_string($nickname)."\n";
$email_message .= "Voorletters: ".clean_string($initials)."\n";
$email_message .= "Geslacht: ".clean_string($sex)."\n";
$email_message .= "Geboortedatum: ".clean_string($date_of_birth)."\n";
$email_message .= "Straatnaam: ".clean_string($street_name)."\n";
$email_message .= "Huisnummer: ".clean_string($number)."\n";
$email_message .= "Postcode: ".clean_string($postal_code)."\n";
$email_message .= "Woonplaats: ".clean_string($abode)."\n";
$email_message .= "Tel. Mobiel: ".clean_string($telephone)."\n";
$email_message .= "Tel. Werk: ".clean_string($work)."\n";
$email_message .= "Soort opleiding: ".clean_string($education)."\n";
$email_message .= "Rijervaring: ".clean_string($experience)."\n";
$email_message .= "BSN Nr.: ".clean_string($bsn)."\n";
$email_message .= "Email: ".clean_string($email_from)."\n";


// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>

<!-- Creeer je eigen succes pagina hier -->

Bedankt voor uw bericht. U krijgt zo spoedig mogelijk een reactie.

<?
}
?>[/CPP]

Het liefst met geslacht met keuze menu man/vrouw maar daar weet ik te weinig voor om dat te fixen

Iemand een idee wat ik fout heb gedaan? Ik kom er niet uit.

Te weinig kennis van php
 
en wat gaat er fout?
En is het tel nummer verplicht, nu wel, maar er staat geen sterretje bij...
 
en wat gaat er fout?
En is het tel nummer verplicht, nu wel, maar er staat geen sterretje bij...


Na lang ploeteren heb ik een andere form gemaakt deze doet het perfect:

[CPP]<?php

if(function_exists('date_default_timezone_set')) { date_default_timezone_set('Europe/Amsterdam'); }
define('LF', "\n");

// Get a value from the $_POST array (case insensitive!!)
function getPost($key, $trim = false, $lowercase = false, $int = false)
{
if(isset($_POST[$key]))
{
$v = stripslashes($_POST[$key]);

if($trim)
{
$v = trim($v);
}

if($int)
{
$v = intval($v);
}
elseif($lowercase)
{
$v = strtolower($v);
}

return $v;
}

return '';
}

// Default values
$field_1 = '';
$field_2 = '';
$field_3 = '';
$field_4 = '';
$field_5 = '';
$field_6 = '';
$field_7 = '';
$field_8 = '';
$field_9 = '';
$field_10 = '';
$field_11 = '';
$field_12 = '';
$field_13 = '';
$field_14 = '';
$field_15 = '';
$field_16 = '';
$field_17 = '';
$field_18 = '';
$field_19 = '';
$field_20 = '';

$sHtml = '';
$sFormError = '';

// Process form
if(empty($_POST['form']) == false)
{
$field_1 = getPost('field_1', true);
if(strlen($field_1) == 0) { $sFormError = 'Vul a.u.b. alle verplichte velden in.'; }
$field_2 = getPost('field_2', true);
if(strlen($field_2) == 0) { $sFormError = 'Vul a.u.b. alle verplichte velden in.'; }
$field_3 = getPost('field_3', true);
$field_4 = getPost('field_4', true);
if(strlen($field_4) == 0) { $sFormError = 'Vul a.u.b. alle verplichte velden in.'; }
$field_5 = getPost('field_5', true);
if(strlen($field_5) == 0) { $sFormError = 'Vul a.u.b. alle verplichte velden in.'; }
$field_6 = getPost('field_6', true);
if(strlen($field_6) == 0) { $sFormError = 'Vink a.u.b. alle verplichte velden aan.'; }
if(in_array($field_6, array('Man', 'Vrouw')) == false) { $sFormError = 'Selecteer a.u.b. een geldige waarde.'; } $field_7 = getPost('field_7', true);
if(strlen($field_7) == 0) { $sFormError = 'Vul a.u.b. alle verplichte velden in.'; }
$field_8 = getPost('field_8', true);
if(strlen($field_8) == 0) { $sFormError = 'Vul a.u.b. alle verplichte velden in.'; }
$field_9 = getPost('field_9', true);
if(strlen($field_9) == 0) { $sFormError = 'Vul a.u.b. alle verplichte velden in.'; }
$field_10 = getPost('field_10', true);
if(strlen($field_10) == 0) { $sFormError = 'Vul a.u.b. alle verplichte velden in.'; }
$field_11 = getPost('field_11', true);
if(strlen($field_11) == 0) { $sFormError = 'Vul a.u.b. alle verplichte velden in.'; }
$field_12 = getPost('field_12', true);
if(strlen($field_12) == 0) { $sFormError = 'Vul a.u.b. alle verplichte velden in.'; }
$field_13 = getPost('field_13', true);
$field_14 = getPost('field_14', true);
$field_15 = getPost('field_15', true);
if(strlen($field_15) == 0) { $sFormError = 'Vul a.u.b. alle verplichte velden in.'; }
$field_16 = getPost('field_16', true);
if(strlen($field_16) == 0) { $sFormError = 'Vink a.u.b. alle verplichte velden aan.'; }
if(in_array($field_16, array('Pakket', 'Pakket +', 'Spoedpakket', 'Losse Lessen')) == false) { $sFormError = 'Selecteer a.u.b. een geldige waarde.'; } $field_17 = getPost('field_17', true);
if(strlen($field_17) == 0) { $sFormError = 'Vink a.u.b. alle verplichte velden aan.'; }
if(in_array($field_17, array('Geen', 'Weinig', 'Redelijk')) == false) { $sFormError = 'Selecteer a.u.b. een geldige waarde.'; } $field_18 = getPost('field_18', true);
if(strlen($field_18) == 0) { $sFormError = 'Vul a.u.b. alle verplichte velden in.'; }
$field_19 = getPost('field_19', true);
$field_20 = getPost('field_20', true);
}

// Show form
if(empty($_POST['form']) || $sFormError)
{
$sHtml .= '<form action="" method="post">
<input name="form" type="hidden" value="form1">
<strong>Wil je je inschrijven vul dan het onderstaande formulier in</strong>
' . $sFormError . '
<table border="0" cellpadding="3" cellspacing="0"><tr>
<td align="left" valign="top">Voornaam *</td>
<td align="left" valign="top"><input name="field_1" type="text" value="' . htmlentities($field_1) . '"></td>
</tr>
<tr>
<td align="left" valign="top">Achternaam *</td>
<td align="left" valign="top"><input name="field_2" type="text" value="' . htmlentities($field_2) . '"></td>
</tr>
<tr>
<td align="left" valign="top">Tussenvoegsels</td>
<td align="left" valign="top"><input name="field_3" type="text" value="' . htmlentities($field_3) . '"></td>
</tr>
<tr>
<td align="left" valign="top">Voorletters *</td>
<td align="left" valign="top"><input name="field_4" type="text" value="' . htmlentities($field_4) . '"></td>
</tr>
<tr>
<td align="left" valign="top">Roepnaam *</td>
<td align="left" valign="top"><input name="field_5" type="text" value="' . htmlentities($field_5) . '"></td>
</tr>
<tr>
<td align="left" valign="top">Geslacht *</td>
<td align="left" valign="top"><select name="field_6"><option' . ((strcmp($field_6, 'Man') === 0) ? ' selected="selected"' : '') . ' value="Man">Man</option><option' . ((strcmp($field_6, 'Vrouw') === 0) ? ' selected="selected"' : '') . ' value="Vrouw">Vrouw</option></select></td>
</tr>
<tr>
<td align="left" valign="top">Geboortedatum *</td>
<td align="left" valign="top"><input name="field_7" type="text" value="' . htmlentities($field_7) . '"></td>
</tr>
<tr>
<td align="left" valign="top">Geboorteplaats *</td>
<td align="left" valign="top"><input name="field_8" type="text" value="' . htmlentities($field_8) . '"></td>
</tr>
<tr>
<td align="left" valign="top">Straatnaam *</td>
<td align="left" valign="top"><input name="field_9" type="text" value="' . htmlentities($field_9) . '"></td>
</tr>
<tr>
<td align="left" valign="top">Huisnummer *</td>
<td align="left" valign="top"><input name="field_10" type="text" value="' . htmlentities($field_10) . '"></td>
</tr>
<tr>
<td align="left" valign="top">Postcode *</td>
<td align="left" valign="top"><input name="field_11" type="text" value="' . htmlentities($field_11) . '"></td>
</tr>
<tr>
<td align="left" valign="top">Woonplaats *</td>
<td align="left" valign="top"><input name="field_12" type="text" value="' . htmlentities($field_12) . '"></td>
</tr>
<tr>
<td align="left" valign="top">Tel. Thuis</td>
<td align="left" valign="top"><input name="field_13" type="text" value="' . htmlentities($field_13) . '"></td>
</tr>
<tr>
<td align="left" valign="top">Tel. Werk</td>
<td align="left" valign="top"><input name="field_14" type="text" value="' . htmlentities($field_14) . '"></td>
</tr>
<tr>
<td align="left" valign="top">Tel. Mobiel *</td>
<td align="left" valign="top"><input name="field_15" type="text" value="' . htmlentities($field_15) . '"></td>
</tr>
<tr>
<td align="left" valign="top">Soort opleding *</td>
<td align="left" valign="top"><select name="field_16"><option' . ((strcmp($field_16, 'Pakket') === 0) ? ' selected="selected"' : '') . ' value="Pakket">Pakket</option><option' . ((strcmp($field_16, 'Pakket +') === 0) ? ' selected="selected"' : '') . ' value="Pakket +">Pakket +</option><option' . ((strcmp($field_16, 'Spoedpakket') === 0) ? ' selected="selected"' : '') . ' value="Spoedpakket">Spoedpakket</option><option' . ((strcmp($field_16, 'Losse Lessen') === 0) ? ' selected="selected"' : '') . ' value="Losse Lessen">Losse Lessen</option></select></td>
</tr>
<tr>
<td align="left" valign="top">Rijervaring *</td>
<td align="left" valign="top"><select name="field_17"><option' . ((strcmp($field_17, 'Geen') === 0) ? ' selected="selected"' : '') . ' value="Geen">Geen</option><option' . ((strcmp($field_17, 'Weinig') === 0) ? ' selected="selected"' : '') . ' value="Weinig">Weinig</option><option' . ((strcmp($field_17, 'Redelijk') === 0) ? ' selected="selected"' : '') . ' value="Redelijk">Redelijk</option></select></td>
</tr>
<tr>
<td align="left" valign="top">E-mail adres *</td>
<td align="left" valign="top"><input name="field_18" type="text" value="' . htmlentities($field_18) . '"></td>
</tr>
<tr>
<td align="left" valign="top">BSN nummer</td>
<td align="left" valign="top"><input name="field_19" type="text" value="' . htmlentities($field_19) . '"></td>
</tr>
<tr>
<td align="left" valign="top">Vragen</td>
<td align="left" valign="top"><textarea name="field_20">' . htmlentities($field_20) . '</textarea></td>
</tr>
<tr>
<td align="left" valign="top">&nbsp;</td>
<td align="left" valign="top"><input type="submit" value="Verzenden"></td>
</table>
</form>';
}
else // Send form
{
$mail_to = 'mailadres';
$mail_from = 'mailadres';
$mail_subject = 'Aanvraag';
$mail_message = 'Formuliergegevens: ' . LF . LF
. 'Voornaam: ' . $field_1 . LF
. 'Achternaam: ' . $field_2 . LF
. 'Tussenvoegsels: ' . $field_3 . LF
. 'Voorletters: ' . $field_4 . LF
. 'Roepnaam: ' . $field_5 . LF
. 'Geslacht: ' . $field_6 . LF
. 'Geboortedatum: ' . $field_7 . LF
. 'Geboorteplaats: ' . $field_8 . LF
. 'Straatnaam: ' . $field_9 . LF
. 'Huisnummer: ' . $field_10 . LF
. 'Postcode: ' . $field_11 . LF
. 'Woonplaats: ' . $field_12 . LF
. 'Tel. Thuis: ' . $field_13 . LF
. 'Tel. Werk: ' . $field_14 . LF
. 'Tel. Mobiel: ' . $field_15 . LF
. 'Soort opleding: ' . $field_16 . LF
. 'Rijervaring: ' . $field_17 . LF
. 'E-mail adres: ' . $field_18 . LF
. 'BSN nummer: ' . $field_19 . LF
. 'Vragen: ' . $field_20 . LF
. LF
. 'IP: ' . $_SERVER['REMOTE_ADDR'] . ', Datum: ' . date('d-m-Y') . ', Tijd: ' . date('H:i:s');

mail($mail_to, $mail_subject, $mail_message, 'From: ' . $mail_from);

$sHtml .= '<strong>Formulier verzonden</strong><p>Hartelijk dank voor het invullen van het formulier.</p>';
}

echo $sHtml;

?>[/CPP]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan