<?php
/**
* Email form example. Shows compatible use of select and radio. Shows basic
* use of returning by reference. Shows use of acceskey characters.
*
* @author Thiemo Mättig (http://maettig.com/)
*/
require_once("Apeform.class.php");
$form = new Apeform();
$form->header("Support email");
// It's very easy to switch between input type "radio" and "select".
$problem = $form->select("Your <u>p</u>roblem", "", "I found 20 €|I need help|It doesn't work");
$problem = $form->radio("Your <u>p</u>roblem", "", "I found 20 €|I need help|It doesn't work");
// Return value as a reference, note the ampersand.
$description = &$form->textarea("<u>D</u>escribe your problem", "", "", 10);
// Due to the reference the following changes are displayed imediatelly.
$description = strtoupper($description);
if (! $description)
{
$form->error("Description missing");
}
$form->header("Additional information about you");
$name = $form->text("Your <u>n</u>ame");
if (! $name)
{
$form->error("Name missing");
}
// Return value as a reference, note the ampersand.
$email = &$form->text("Your <u>e</u>mail", "Please specify if you want an answer.");
// Add an individual class label to the form element above.
$form->addClass("important");
// Due to the reference the following changes are displayed imediatelly.
$email = strtolower(trim($email));
if ($email && ! preg_match(
'/^[^\s"\'<>()@,;:]+@[^\s"\'<>()@,;:]+\.[a-z]{2,6}$/is', $email))
{
$form->error("Email invalid");
}
$form->submit("Send email");
echo '<style type="text/css">';
echo 'table { margin: auto; }';
echo 'th { background-color: #D2ECD2; }';
echo 'td { background-color: #F4FAF4; }';
echo '.important label, .important strong { background-color: #FE0; }';
echo '</style>';
if ($form->isValid())
{
// mail("example@example.com", $problem, $description, "From: $email");
echo "I'm trying to solve your problem. Please wait ...";
}
$form->display();
echo '<p class="important"><strong>Important:</strong> Individual stylesheet class on single form elements.</p>';
?>
|