Hallo PHP-ers,

Wie kan mij helpen ik heb dit script hieronder alleen er moet een email checker in weet iemand voor dit script de code? en de error velden moeten juist achter het veld staan wat niet is ingevuld nu zet hij het steeds boven neer.

<?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 = '';

$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. uw Naam in.'; }
$field_2 = getPost('field_2', true);
if(strlen($field_2) == 0) { $sFormError = 'Vul a.u.b. uw Emailadres in.'; }
$field_3 = getPost('field_3', true);
}

// Show form
if(empty($_POST['form']) || $sFormError)
{
$sHtml .= '<form action="" method="post">
<input name="form" type="hidden" value="form1">
' . $sFormError . '
<table border="0" cellpadding="3" cellspacing="0"><tr>
<td align="left" class="label" valign="top">* Naam</td>
<td align="left" class="input" valign="top"><input name="field_1" type="text" value="' . htmlentities($field_1) . '"></td>
</tr>
<tr>
<td align="left" class="label" valign="top">* Emailadres</td>
<td align="left" class="input" valign="top"><input name="field_2" type="text" value="' . htmlentities($field_2) . '"></td>
</tr>
<tr>
<td align="left" class="label" valign="top">Opmerking</td>
<td align="left" class="input" valign="top"><textarea name="field_3">' . htmlentities($field_3) . '</textarea></td>
</tr>
<tr>
<td align="left" class="text" valign="top">&nbsp;</td>
<td align="left" class="input" valign="top"><input type="submit" value="Verzenden"> <input type="reset" value="Wissen"></td>
</table>
</form>';
}
else // Send form
{
$mail_to = '[email protected]';
$mail_from = '[email protected]';
$mail_subject = 'Test formulier sterrengokkers.nl';
$mail_message = 'Sterrengokkers invulformulier: ' . LF . LF
. 'Naam: ' . $field_1 . LF
. 'Email: ' . $field_2 . LF
. 'Opmerking: ' . $field_3 . 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 .= '<h1>Uw aanvraag is succesvol verzonden!</h1><p>Hartelijk dank voor uw aanvraag, wij nemen zo spoedig mogelijk contact met u op.</p>Met vriendelijke groet,<br>Sterrengokkers.nl';
}

echo $sHtml;

?>

alvast bedankt
- Raoul - op 01/09/2012 11:58:35

[quote="Wouter J op 31/08/2012 16:56:15"]
Tevens kun je met HTML5 een check uitvoeren:
<input type=email ...>



Dat is nogal useless aangezien een hacker ook gewoon een POST request naar die pagina kan sturen zonder die form. Maar wel leuk als bijkomende check.
[/quote]

Nee, dat is het niet. Want wat wint een hacker met het vervalsen van een e-mailadres? Niets, is het net hetzelfde of jij geeft in dit vak een geldig e-mailadres op, maar niet in gebruik. Uiteindelijk gaat het er om dat je typos wilt vermeiden.

Write Down op 01/09/2012 11:50:41

Als kan ik ook daar nog een kanttekening bij maken. Ik ben soms nog wel is lui, en copy paste mijn e-mailadres / laat het auto invullen.


Daar is ook al wat op ik kom vaak tegen dat ze auto fill en copy paste blokeren op zo input veld je bent dan verplicht te typen.
Belachelijk!
Ik weet zeker dat ik mijn wachtwoord (en zeker een zichtbaar emailadres) goed type. Belemmer me niet om jouw trage formulier (waarom alles 2x vragen?) niet op mijn snelle manier in te vullen.
Gelukkig werken die anti-auto-fill-dingen niet op Opera (jippie :D).

Waarom zou ik moeten typen wat ik al eerder heb ingevuld?
Opera weet best dat bij een veld genaamd "email" of "emailadres" of "emailaddress" oid MIJN emailadres verwacht wordt. Handig toch als hij dat al invult? Zelfde met telefoonnummer, geboortedatum (ook al doet die het vaak niet) en adres etc.
@Eddy,

Weet ik ik zeg het enkel maar daar gaat het niet om.

En wie vult nou zomaar zijn adres in niemand tenzij je echt op moment staat ergens voor aan te melde, een acount bevoorbeeld dan moet je wel anders krijg je geen acepteer link.

Maar ik krijg de laatste jaaren bijna geen spam meer ondanks ik op heel veel dingen sa ingescheven. Hoog uit 5 a 8 in de maand die van zelf naar de ongewenste map gaan.

maar zo wie zo alles wat dubbel getyped moet worde is kut.
Je schrijfstijl, interpunctie en spelling zijn ook kut. Dus?

Uiteraard gaat Opera niet op zoek naar formulieren waar hij mijn informatie kwijt kan.
Maar, als het gevraagd wordt laat ik het Opera invullen ;). Ik klik zelf op OK danwel verzenden.
Je mag als programmeur nooit egoïstisch zijn, en ook niet van jezelf uitgaan op de manier waarop je gebruikers invoer controleert. De kunst is niet alleen om je code hackproof te maken maar ook foolproof.
Joey Drieling op 01/09/2012 13:30:33

[quote="Write Down op 01/09/2012 11:50:41"]
Als kan ik ook daar nog een kanttekening bij maken. Ik ben soms nog wel is lui, en copy paste mijn e-mailadres / laat het auto invullen.


Daar is ook al wat op ik kom vaak tegen dat ze auto fill en copy paste blokeren op zo input veld je bent dan verplicht te typen.
[/quote]

Dat is dus één van de redenen waarom ik bijvoorbeeld al een fake e-mailadres zou opgeven. Als ze me al terroriseren met dat soort praktijken, dan denk ik ga iemand anders het leven zuur maken.
Write Down op 01/09/2012 17:55:39

[quote="Joey Drieling op 01/09/2012 13:30:33"]
[quote="Write Down op 01/09/2012 11:50:41"]
Als kan ik ook daar nog een kanttekening bij maken. Ik ben soms nog wel is lui, en copy paste mijn e-mailadres / laat het auto invullen.


Daar is ook al wat op ik kom vaak tegen dat ze auto fill en copy paste blokeren op zo input veld je bent dan verplicht te typen.
[/quote]

Dat is dus één van de redenen waarom ik bijvoorbeeld al een fake e-mailadres zou opgeven. Als ze me al terroriseren met dat soort praktijken, dan denk ik ga iemand anders het leven zuur maken.

[/quote]

Ik heb ook aparte mail adressen daar voor :)

[size=xsmall]Toevoeging op 01/09/2012 22:39:31:[/size]

Eddy Erkelens op 01/09/2012 16:16:02

Je schrijfstijl, interpunctie en spelling zijn ook kut. Dus?


Fijn dat je dat ff mee deelt :)

Reageren