Scripts

E-mail formulier generator

Voor mensen die graag een e-mail formulier op hun website willen, maar niet weten waar te beginnen heb ik een tool gemaakt die deze kan genereren. Browse naar: http://www.php-solutions.nl/scripts/formulier-generator/ Definieer de velden die je in je formulier wilt tonen, en geef aan naar welk e-mailadres het formulier verzonden moet worden. Klik op de knop "Genereren" en er verschijnt een blok PHP code onderaan het scherm. Plak deze code in een .PHP file, en je script is klaar. Je kunt de code natuurlijk waar nodig verder uitbreiden of teksten veranderen. Graag jullie feedback! TODO: - Optioneel CAPTCHA validatie in het formulier bouwen - Input valideren op een bepaalde syntax

email-formulier-generator
Voorbeeld van een gegenereerd formulier, ik heb de volgende gegevens ingevuld:

E-mailadres ontvanger: "[email protected]"
E-mailadres afzender: "[email protected]"
E-mail onderwerp: "Formuliergegevens van www.php-solutions.nl"

Velden:
Naam, textfield, Martijn, , verplicht
E-mail, textfield, , , niet verplicht
Vraag, textarea, , , verplicht

[code]<?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 = 'Martijn';
    $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. alle verplichte velden in.'; }
        $field_2 = getPost('field_2', true);
        $field_3 = getPost('field_3', true);
        if(strlen($field_3) == 0) { $sFormError = 'Vul a.u.b. alle verplichte velden in.'; }
    }

    // Show form
    if(empty($_POST['form']) || $sFormError)
    {
        $sHtml .= '<form action="" method="post">
<input name="form" type="hidden" value="form1">
<h1>Vul a.u.b. het onderstaande formulier in</h1>
' . $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">Email</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"></td>
</table>
</form>';
    }
    else // Send form
    {
        $mail_to = '[email protected]';
        $mail_from = '[email protected]';
        $mail_subject = 'Formuliergegevens van www.php-solutions.nl';
        $mail_message = 'Formuliergegevens: ' . 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>Formulier verzonden</h1><p>Hartelijk dank voor het invullen van het formulier.</p>';
    }

    echo $sHtml;

?> [/code]

Reacties

0
Nog geen reacties.