Php getting argument using $_GET

rekha's Avatar

I have a php page where i am getting argument from another page.The argument contains values similar to "Repair & Maintenance".If i retrieve that argument using $_GET method i am getting only "Repair" as the value.I need the value to be "Repair & Maintenance".How can i get this.

shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
You submitted the thread as article and I have moved it to forums for discussion.
pete_bisby's Avatar, Join Date: Nov 2007
Go4Expert Member
The ampersand is causing the break in the URL - PHP populates the $_GET array from the URL. Everything to the right of the question mark goes to the $_GET array, with each pair of key/values.
$_GET["field1"] = "value1"
$_GET["field2"] = "value2"

Now because you have an ampersand in the URL, PHP thinks it is a new variable, which is the reason why the second half is disappearning.

The solution: encode the URL correctly - look at htmlentities(), htmlspecialchars() or urlencode()
pradeep's Avatar, Join Date: Apr 2005
Team Leader
Use urlencode

Code: PHP
$url = "".urlencode('Repair & Maintenance');