Passing variables in a URL

When you work with PHP, you often need to pass variables from one page to another. This lesson is about passing variables in a URL.

How does it work?

Maybe you have wondered why some URLs look something like this:

	http://html.net/page.php?id=1254 

Why is there a question mark after the page name?

The answer is that the characters after the question mark are an HTTP query string. An HTTP query string can contain both variables and their values. In the example above, the HTTP query string contains a variable named "id", with the value "1254".

Here is another example:

	http://html.net/page.php?name=Pratheesh 

Again, you have a variable ("name") with a value ("Pratheesh").

How to get the variable with PHP?

Let’s say you have a PHP page named pratheesh.php. Now you can call this page using the following URL:

	people.php?name=Pratheesh 

With PHP, you will be able to get the value of the variable ‘name’ like this:

	$_GET["name"] 

So, you use documentation$_GET to find the value of a named variable. Let’s try it in an example:

	<html> <head> <title>Query string</title> </head> <body> <?php // The value of the variable name is found echo "<h1>Hello " . $_GET["name"] . "</h1>"; ?> </body> </html> 

-Show example (keep an eye on the URL)

When you look at the example above, try to replace the name "Pratheesh" with your own name in the URL and then call the document again! Quite nice, eh?

Several variables in the same URL

You are not limited to pass only one variable in a URL. By separating the variables with &, multiple variables can be passed:

	people.php?name=Pratheesh&age=24 

This URL contains two variables: name and age. In the same way as above, you can get the variables like this:

	$_GET["name"] $_GET["age"] 

Let’s add the extra variable to the example:

	<html> <head> <title>Query string </title> </head> <body> <?php // The value of the variable name is found echo "<h1>Hello " . $_GET["name"] . "</h1>"; // The value of the variable age is found echo "<h1>You are " . $_GET["age"] . " years old </h1>"; ?> </body> </html> 

-Show example (keep an eye on the URL)

Now you have learned one way to pass values between pages by using the URL

Source: html.net

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s