Lesson 10: 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=Joe
	
	

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

How to get the variable with PHP?

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


	people.php?name=Joe
	
	

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>
	
	

When you look at the example above, try to replace the name "Joe" 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=Joe&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>
	
	

Now you have learned one way to pass values between pages by using the URL. In the next lesson, we'll look at another method: forms.


Related topics in the PHP ForumRepliesViews
Loading an image using URL variable213620
php-lesson 11: passing variable with forms214388
Storing the value of a drop box as a variable name113734
how to creat a database name with php user input variable326588
Passing 1 variable in a URL118305

+ Post a new topic


<< Lesson 9: Functions

Lesson 11: Passing form variables >>