Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP "&" character in $_GET variable issue

Tags:

url

php

get

How can I put '&' symbol to URL GET variable so it is part of string? The problem is it always split the string to next variable.

How can I make this work?

localhost/test.php?variable='jeans&shirts'    // so it executes it like a string

<?php

require "connect.php";

$variable = $_GET['variable'];

echo $variable;

?>

output is 'jeans'

instead of 'jeans&shirts'

like image 364
Peter Bielak Avatar asked Dec 26 '22 02:12

Peter Bielak


1 Answers

You will want to urlencode() your string:

// Your link would look like this:
'localhost/test.php?variable='.urlencode('jeans&shirts');

When you want to use it, you would decode it:

echo $variable = urldecode($_GET['variable']);

ENCODE: http://php.net/manual/en/function.urlencode.php

DECODE: http://php.net/manual/en/function.urldecode.php


EDIT: To test write this:

echo $url = 'localhost/test.php?variable='.urlencode('jeans&shirts');
echo '<br />';
echo urldecode($url);

Your result would be:

// Encoded
localhost/test.php?variable=jeans%26shirts
// Decoded
localhost/test.php?variable=jeans&shirts
like image 65
Rasclatt Avatar answered Dec 27 '22 20:12

Rasclatt