Library tutorials & articles

An Introduction to PHP

Form Data

When an HTML document has a form, the action attribute specifies the name of the program to handle the form data. When a PHP document is specified in the action attribute, the PHP document has access to the named fields in the form. Each field is accessible from the PHP arrays $_POST or $_GET. The variable chosen will depend on whether the form's method attribute was get or post.

The following example uses a form to get the user's name and age. The information is then displayed with a PHP document.

simpleForm.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
            "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>User Details</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<h1>User Details</h1>
<form id="userDetails" name="userDetails" method="post" action="welcome.php">
<p>
    Enter your Name: <br>
    <input type="text" size="40" value="" name="name"><br>
    Enter your Age: <br>
    <input type="text" size="5" value="" name="age"><br>
    <input type="submit" value="Enter" name="welcome">
</p>
</form>
</body>
</html>

The following is the PHP script that is called from, simpleForm.html.

welcome.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
            "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Welcome</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<p>
<?php
    print "Welcome " . $_POST["name"] . "<br>";
    print "I see you are " . $_POST["age"] . " years old! <br>";
?>
</p>
</body>
</html>

Iterating through a Form collection

You may iterate through the form collection, using either of the server variables, $_GET, and $_POST. The following example uses $_POST variable to iterate through the form shown above.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
            "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Display Form Collection</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<p>
<?php
    print "Posted variables: <br>";
    reset ($_POST);
    while(list($key,$val) = each ($_POST))
        print $key . " = " . $value . "<br>";
?>
</p>
</body>
</html>

Comments

  1. 28 May 2009 at 22:12

    It is not just talk though: Zend server is flourishing despite the recession - "the Q1 of 2009 has been our strongest quarter ever," says Suraski - and although PHP's enterprise market share is small compared to Java or .NET, it is growing. Read more on ITJOBLOG.

  2. 02 Jan 2007 at 06:39
    Here they show how to send valued in one file to another(both are in same folder)
    but i need to send values in one folder to another


  3. 04 Apr 2006 at 10:20

    Yes, I think you're correct, although you could easily have a line like this:

    $num = $_POST['num'];


    to get around that problem. Which I think is what's missing from this tutorial Wink [;)]





  4. 04 Apr 2006 at 09:47

    In the PHP file should it be "$_POST["num"]" ?

    instead of just $num?

  5. 21 Feb 2004 at 04:09
    hello

    I have in php a header which brings a save as box , but when file is down loaded it contains the 6 blank spaces at the start of of document .
    I have to avoid storing these blank spaces.Please help me to solve this problem.
  6. 28 Jan 2004 at 15:16

    You can also do string concatenation like

    Code:

    $h = "Hello";
    $w = "World";


    $message = "$h $w";


  7. 01 Jan 1999 at 00:00

    This thread is for discussions of An Introduction to PHP.

Leave a comment

Sign in or Join us (it's free).

Gez Lemon I'm available for contract work. Please visit Juicify for details.
AddThis

Related discussion

Related podcasts

  • EarthClassMail.com - Moving from LAMP to .NET 3.5

    Scott chats with Matt Davis, architect at EarthClassMail.com, about their move from a LAMP stack (Linux/Apache/mysql/PHP) to .NET 3.5. What's working, what's not, and what kinds of issues are they running into as their architect their solution.

Events coming up

  • Dec 3

    The Auckland PHP December meetup

    Auckland, New Zealand

    Topic: Magento E-Commerce platform Speaker: Robert Popovic, LERO9, Robert is the Technical Director and co-founder of LERO9. Robert attended the Electrotechnical Faculty at The University of Belgrade where he graduated with a Masters in Computer Science and Information Technology. Robert has worked exclusively in the field of web and software development throughout his career.

We'd love to hear what you think! Submit ideas or give us feedback