I have created a form in my web application which has only a single text field and that field is posted to a PHP page using GET, but I am observing strange behavior. i.e. when I test it on my local server, the text is received as it was written in the text field, but when I upload it to my online server, the received string is escaped automatically means, all single quotes and double quotes are escaped. e.g. If I write It's not true... then on php side I will get
$comment = $_REQUEST["comm"];
print $comment;
//will print It\'s not true... on my online server
//will print It's not true... on my local server
I am yet unable to under stand why is it so? Is there any PHP setting for escaping Query Strings variables automatically?
You have “magic quotes” enabled. They’re a terrible misfeature which are luckily being removed in the next version of PHP. The PHP manual has a guide to disabling them.
In short, you need to set the following configuration items to
Offin yourphp.inifile:Specifically, your problem appears to be with
magic_quotes_gpc– the “gpc” portion being short for “GET, POST, and COOKIE” – but it’s good practice to keep all of them disabled.