PHP MySQL Tutorial
Learn PHP and MySQL

PHP Forms

Page Details

Published by:
admin
on 12-19-2008
4 people found this article useful.

80% of people found this useful
PHP Forms

Using forms in a web based application is very common. Most forms are used to gather information like in a signup form, survey / polling, guestbook, etc.

A form can have the method set as post or get. When using a form with method="post" you can use $_POST to access the form values. And when the form is using method="get" you can use $_GET to access the values. The $_REQUEST superglobal can be used to to access form values with method="post" and method="get" but it is recommended to use $_POST or $_GET instead so you will know from what method did the values come from.

Here is an example of HTML form :

 

 

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name : <input name="username" type="text"><br>
Password : <input name="password" type="password"><br>
<input name="send" type="submit" value="Send!">
</form>

The form above use $_SERVER['PHP_SELF'] as the action value. It is not required for the form to perform correctly but it's considered good programming practice to use it.

Below is the PHP code used to access form values :
 

<?php
if(isset($_POST['send']))
{
   echo "Accessing username using POST : " .         $_POST['username'] . "<br>";
   echo "Accessing username using REQUEST : " .         $_REQUEST['username'] . "<br>";

   $password = $_POST['password'];
   echo "Password is $password";
}
?>

The if statement is used to check if the send variable is set. If it is set then the form must have been submitted. The script then print the value of username using $_POST and $_REQUEST

 

Using Array As Form Values

Take a look at the code example below. The form have five input with the same name, language[]. Using the same input name is common for checkboxes or radio buttons.

 

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Select the programming languages you can use<br>
<input name="language[]" type="checkbox" value="C++">
C++<br>
<input name="language[]" type="checkbox" value="Java">
Java<br>
<input name="language[]" type="checkbox" value="PHP">
PHP<br>
<input name="language[]" type="checkbox" value="ASP">
ASP<br>
<input name="language[]" type="checkbox" value="Delphi">
Delphi<br>
<input name="send" type="submit" id="send" value="Send!">
</form>

The PHP code below print the value of language after the form is submitted. Go ahead and try the example. Try checking and unchecking the options to see the effect.

Example : form-array.php
Source code : form-array.phps

<?php
if(isset($_POST['language']))
{
   $language = $_POST['language'];
   $n        = count($language);
   $i        = 0;

   echo "The languages you selected are \r\n" .
        "<ol>";
   while ($i < $n)
   {
      echo "<li>{$language[$i]}</li> \r\n";
      $i++;
   }
   echo "</ol>";
}
?>

From the above code you will notice that $language is an array. This is because in the form code language is repeated several times. When you specify the same input name in a form, PHP will treat it as an array.

There is one important issue you should know when using forms, that is form validation. The code above does not check whether the input is correct such as checking if the user is entering any value into the textbox or is the user selecting any checkboxes. This is actually a bad practice because you should never put a web form without any validation. To learn about validating form input you can go to this page : Form Validation With PHP

Recent Comments

By: phproots Posted on 05-04-2012 12:40 AM
0% of people found this useful

how can we call javascript using ajax .how can find variables,i can't understand. for php i have visit

<a href="http://phproots.com">php tutorial</a> .you can also visit.

By: phproots Posted on 05-04-2012 12:42 AM

how can we call javascript using ajax .how can find variables,i can't understand. for php i have visit .

<a href="http://phproots.com">php tutorial</a>.

By: phproots Posted on 05-04-2012 12:43 AM

how can we call javascript using ajax .how can find variables,i can't understand. for php i have visit .

<a href="http://phproots.com"></a>

By: phproots Posted on 05-04-2012 1:11 AM

i want more solution.please visit http://phproots.com

By: Xavier ban Posted on 07-08-2012 7:59 PM

I'll definitely try this. =)

Powered by Community Server (Non-Commercial Edition), by Telligent Systems