On Sun, 2006-11-19 at 11:00 -0500, Stephen wrote:
> Hi
>
> First question to the list.
>
> I am writing a control panel for a web site and there will be about 20
> HTML forms.
>
> Instead of creating 20 PHP files to process the submit data, is there a
> way that I can do this with a single PHP file.
>
> Either specify a specific function for each form, or use a case
> statement somehow to direct to the function.
Yes...
<?php
$handlers = array
(
'myLoginForm' => 'handler_myLoginForm',
'myRegistrationForm' => 'handler_myRegistrationForm',
'myProfileForm' => 'handler_myProfileForm',
'myDonationForm' => 'handler_myDonationForm',
);
$action = isset( $_POST['formName'] ) ? $_POST['formName'] : null;
if( isset( $handlers[$action] ) )
{
$handlers[$action]( $_POST );
}
function handler_myLoginForm( $form )
{
print_r( $form );
}
function handler_myRegistrationForm( $form )
{
print_r( $form );
}
function handler_myProfileForm( $form )
{
print_r( $form );
}
function handler_myDonationForm( $form )
{
print_r( $form );
}
?>
Alternatively you can use the following style:
<?php
$action = isset( $_POST['formName'] ) ? $_POST['formName'] : null;
if( $action && function_exists( ($handler = 'handler_'.$action) ) )
{
$handler( $_POST );
}
if( isset( $handlers[$action] ) )
{
$handlers[$action]( $_POST );
}
function handler_myLoginForm( $form )
{
print_r( $form );
}
function handler_myRegistrationForm( $form )
{
print_r( $form );
}
function handler_myProfileForm( $form )
{
print_r( $form );
}
function handler_myDonationForm( $form )
{
print_r( $form );
}
?>
Cheers,
Rob.
--
.------------------------------------------------------------.
| InterJinn Application Framework - http://www.interjinn.com |
:------------------------------------------------------------:
| An application and templating framework for PHP. Boasting |
| a powerful, scalable system for accessing system services |
| such as forms, properties, sessions, and caches. InterJinn |
| also provides an extremely flexible architecture for |
| creating re-usable components quickly and easily. |
`------------------------------------------------------------'
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php