在新服务器上格式化GET序列化数据

时间:2014-03-20 20:57:35

标签: php forms get

我在个人服务器上设置了一个演示网络应用程序。当用户在表单上提交信息时,信息数组将通过表单发送。它在我的服务器上工作正常。当我将其移动到新服务器时,它不再发送正确的信息。我注意到字符串略有不同。我需要在新服务器上更改某种设置吗?

对于这两个网站,我选择二月并提交表格。

在旧服务器上传递的字符串:

months=a%3A1%3A%7Bi%3A0%3Bs%3A1%3A"2"%3B%7D

在新服务器上传递的字符串:

months=a%3A1%3A%7Bi%3A0%3Bs%3A1%3A%5C"2%5C"%3B%7D

数据来自get with:

$months = $_GET['months'];
$dates = unserialize(urldecode($months));

使用此变量将数据作为隐藏字段添加到表单中:

$dateserial = htmlspecialchars(serialize($dates));

1 个答案:

答案 0 :(得分:1)

magic_quotes_gpc在新服务器上php.ini启用,"神奇地"使用\转义引号,%5Curlencode转换为{{1}}。

所以关掉它。