If I have a URL like asdf.com/index.php?a=0&b=2, then using $_GET for a
would be 0 and for b
would be 2. However, the term I put into a single $_GET function has an ampersand in it already, like a=Steak&Cheese. Is there a way to make ampersands work without the $_GET variable thinking its job ends when the ampersand shows up (therefore not pulling the entire term)?
相关问题
- Views base64 encoded blob in HTML with PHP
- Laravel Option Select - Default Issue
- PHP Recursively File Folder Scan Sorted by Modific
- Can php detect if javascript is on or not?
- Using similar_text and strpos together
Yes, you must URL Encode before request URL. Read this http://www.w3schools.com/TAGS/ref_urlencode.asp
Here is a previous post covering this in jquery AJAX requests, but to summarize you have to encoded the uri. This will convert the ampersand value to a ascii value. Ampersand in GET, PHP
urlencode()
it so&
turns into%26
.If you need to make a query string out of some parameters, you can use
http_build_query()
instead and it will URL encode your parameters for you.On the receiving end, your
$_GET
values will be decoded for you by PHP, so the query stringa=Steak%26Cheese
corresponds to$_GET = array('a' => 'Steak&Cheese')
.