HTML Form Elements Values usage Examples in PHP

January 28, 2007

During the development of interactive web sites using PHP and HTML it is requiredto deal with data flow between user/browser and the server. This is achieved by using HTML forms and supporting HTML form elements. Following examples shows how these form elements can be used in HTML andPHP to allow interaction between user and the server.

Text input HTML form element

This input form element can be used for a single lime text input from the user. For example user first name, user e-mail, phone numbers etc. The syntax in HTML form is as below

<input type=”text” name=”username”>
<input type=”text” name=”email”>

This will display an input box in the browser and the values of this element canbe accessed at the form handling php script by following.
<?php echo “User Name:”.$_POST[‘username’]; ?>

Password type. The defulat type of HTML input element is text. The special password type of input can be used as following
<input type=”password” name=”password”>

and can be accessed in PHP similar to above input element.
<?php echo “The Password is:”.$_POST[‘password’]; ?>

Hidden type. The hidden field is used to send information from browser to the server without having to input it. Typically this is used to send some logical data that has nothing to do with user but used at the server in PHP program logic. For example state, action, or passing the result to the other module etc. Please note that you encode the value using htmlspecialchars() function.
<input type=”hidden” name=”action” value=”<?php echo htmlspecialchars(‘step2’); ?>”>

and the value of this field can be accessed in PHP by following.
<?php echo “The Value of action is:”.$_POST[‘action’]; ?>

Textarea multiline text HTML form element

This form element can be used for a multi-line text input from the user. For example product description. The syntax is as below.

<textarea name=”description” rows=”5″ cols=”50″></textarea>

This will display a multi-line input area in the browser and the size can be controlled using rows and cols tag. The text value input by user can be accessed in PHP by following

<?php echo “Product Description:”.$_POST[‘description’]; ?>

Select (Pull Down menu) and Select multiple HTML form element

This type of HTML form element is used to allow user to select from multiple choices. For example selecting a month or a day. The html syntax is as below.

<select name=”year”>
<option value=”2004″>2004</option>
<option value=”2005″>2005</option>
<option value=”2006″>2006</option>
<option value=”2007″>2007</option>
<option value=”2008″>2008</option>
</select>

The value of selected choice can be accessed in form handling PHP script as following
<?php echo “Selected Year is:”.$_POST[‘year’]; ?>

The variation to this allows user to select multiple choices from the given options.
This can be done by following select multiple syntax

<select multiple name=”colors[]” size=”4″>
<option value=”Red”>Red
<option value=”Yellow”>Yellow
<option value=”Blue”>Blue
<option value=”Green”>Green
<option value=”White”>White
<option value=”Black”>Black
</select>

The size tag can be used to control how many rows should be visible. And note the use of ‘[]’ following the name of the select box. This will denote that it is an array and the choices can be accessed in form handling PHP script by following.

<?php
foreach ($_POST[‘colors’] as $key => $value) {
echo “Key: $key; Value: $value<br>”;
}
?>
If Red and Green is selected then above code will print
0: Red
1: Green

Radio button HTML form element

Radio button in HTML form is an alternative method that allows user to select from given options. Unlike drop down menu this is used to create more visibilty in the input form.

<input type=”radio” name=”colour” value=”Red”>Red
<input type=”radio” name=”colour” value=”Orange”>Orange
<input type=”radio” name=”colour” value=”Blue”>Blue

The value of the selection can be accessed in PHP as following
<?php echo “Selected Color is:”.$_POST[‘colour’]; ?>

Check Box button HTML form element

This is an alternative way of allowing user to select multiple choices from the given options. Following example show the use of Check Boxes in an HTML form

<input type=”radio” name=”colour[]” value=”Red”>Red
<input type=”radio” name=”colour[]” value=”Orange”>Orange
<input type=”radio” name=”colour[]” value=”Blue”>Blue
<input type=”radio” name=”colour[]” value=”Violet”>Violet
<input type=”radio” name=”colour[]” value=”Black”>Black

Again here PHP array is used to access the selected choices from the user.
<?php
foreach ($_POST[‘colors’] as $key => $value) {
echo “Key: $key; Value: $value<br>”;
}
?>

If Red and Violet is selected then above code will display
0: Red
1: Violet


php connection status and connection handling

January 24, 2007

There are three possible php connection states are maintained Internally. They are NORMAL, ABORTED and TIMEOUT. When the script is running normally the NORMAL php connection state is active. If the connection between client and server is stopped or disconnected it is in ABORTED state. If the max_execution_time of PHP script is expired the TIMEOUT state is active. The max_execution_time value is defined in the php.ini if it is not defined the default value is 30 seconds. There are functions availabe in PHP that can be used to control php connection status.

ignore_user_abort() function By default the php script is aborted when client stops or disconneted. Sometime it is required to always have the scripts run to completion. This function sets whether a client disconnect should cause a script to be aborted. It will return the previous setting and can be called without an argument to not change the current setting and only eturn the current setting. This behaviour can also be set via the ignore_user_abort php.ini directive as well as through the corresponding “php_value ignore_user_abort” Apache .conf directive.

register_shutdown_function() function. By default the php script is aborted when client stops or disconneted. One exception to this is if you have registered a shutdown function using register_shutdown_function(). This registered shutdown function will get called when the script is aborted by client disconnect. Note that this registered shutdown function will get called even if the script is terminating normally. For example such call register_shutdown_function(my_register_function) will register my_register_function() and will get called when underlying php script is terminating. Multiple calls to register_shutdown_function() can be made, and each will be called in the same order as they were registered. If you call exit() within one registered shutdown function, processing will stop completely and no other registered shutdown functions will be called. It is not possible to send any output to the browser in registered shutdown functions because they are called after the request has been completed including sending any output.

connection_aborted() function. This function returns TRUE if client disconnected. Typically this function is useful in registered shutdown functions to do something different in case of a client disconnect and php connection status is ABORTED.

Controling script execution time set_time_limit() function. The default timeout for any php script is 30 seconds. This can be changed using the max_execution_time php.ini directive or the corresponding “php_value max_execution_time” Apache .conf directive. This can also be controled run time by using set_time_limit() function. This function sets the number of seconds a script is allowed to run. If seconds is set to zero, no time limit is imposed. When called, set_time_limit() restarts the timeout counter from zero. i.e if the timeout is the default 30 seconds, and after 25 seconds into script execution a call set_time_limit(20) is made, the script will allow to run for a total of 45 seconds before timing out.

connection_timeout() function. This function returns TRUE if php connection status is TIMEOUT. Typically this function is useful in registered shutdown functions to do something different in case of php connection status is TIMEOUT.

connection_status() function. Note that both the ABORTED and the TIMEOUT states can be active at the same time. This is possible when ignore_user_abort is set and client disconnected. At this time script will keep running but PHP will still note that it is ABORTED. If it then TIMEOUT it will stop execution of the script and registered shutdown function will be called if registered. At this point connection_timeout() and connection_aborted() will return TRUE. connection_status() can also be used which returns the connection status bitfield. So, if both states are active it would return 3.


Design a site like this with WordPress.com
Get started