Урок 10: Передача переменных через URL

При работе с PHP часто необходимо передать переменные с одной страницы в другую. Этот урок - о передаче переменных в URL.

Как это работает?

Возможно, вас удивляло, почему некоторые URL выглядят наподобие этого:


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

Почему после имени страницы стоит знак вопроса?

Ответ: символы после знака вопроса это строка HTTP-запроса. Строка HTTP-запроса может содержать как имена переменных, так и их значения. В вышеприведённом примере строка HTTP-запроса содержит переменную "id" со значением "1254".

Вот другой пример:


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

То есть у вас снова переменная ("name") со значением ("Joe").

Как получить переменную с помощью PHP?

Предположим, у вас есть PHP-страница people.php. Можно вызвать её с использованием URL:


	people.php?name=Joe
	
	

В PHP вы можете получить значение переменной 'name' таким образом:


	$_GET["name"]
	
	

То есть вы используете документация$_GET для поиска значения именованной переменной. Попробуем на примере:


	<html>
	<head>
	<title>Строка запроса</title>
	</head>
	<body>

	<?php

	// Значение переменной найдено
	echo "<h1>Hello " . $_GET["name"] . "</h1>";

	?>

	</body>
	</html>
	
	

Попробуйте в этом примере заменить "Joe" вашим собственным в URL и снова вызвать документ! Довольно прикольно, а?

Несколько переменных в одном URL

В URL можно передавать и не одну переменную. Разделяя переменные знаком &, можно передавать несколько:


	people.php?name=Joe&age=24
	
	

Этот URL содержит две переменные: name и age. Как и ранее, можно получит переменные так :


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

Добавим в пример ещё одну переменную:


	<html>
	<head>
	<title>Строка запроса</title>
	</head>
	<body>

	<?php

	// Значение имени переменной name найдено
	echo "<h1>Hello " . $_GET["name"] . "</h1>";
	 
	// Значение имени переменной age найдено
	echo "<h1>You are " . $_GET["age"] . " years old </h1>";

	?>

	</body>
	</html>
	
	

Вы узнали, как передать значения между страницами с использованием URL. В следующем уроке мы изучим другой способ: формы.



<< Урок 9: Функции

Урок 11: Передача переменных через формы >>