【发布时间】:2013-12-18 12:33:46
【问题描述】:
我别无选择,只能使用 .NET 来构建搜索页面,因为我的商业伙伴需要一个新网站,他的数据库使用 MSSQL。
但是在我目前的情况下,我别无选择,只能这样做,所以我正在构建一个 HTML5/.NET 混合体。
我有一个内置 ASPX 的网页,默认加载时,它会根据设置如下的 cookie 参数搜索库存数据库:
COOKIE NAME:“searchParameter”COOKIE VALUE:“valueC=stringSearch”
但我无法在 PHP 中复制上面的 cookie,因为等号 '=' 在 PHP 中被删除了
COOKIE 名称:“searchParameter”COOKIE 值:“valueC%3DstringSearch”
所以在 PHP 中,等号从 '=' 变为 '%3D',因此 ASPX 页面不会根据在前一个 PHP 页面中设置的 cookie 执行正确的搜索。
如何设置一个包含“=”字符的 cookie 值,使其不会更改为 %3D?
这是我目前在 PHP 中所拥有的:
<?php
$value = 'valueC=stringSearch';
setcookie("searchParameter", $value);
setcookie("searchParameter", $value, time()+3600); /* expire in 1 hour */
setcookie("searchParameter", $value, time()+3600, "/", "cinicraft.com", 1);
?>
但是当使用 Google Chrome 开发者工具检查当前存储的 cookie 时,我得到了这个:
COOKIE 名称:“searchParameter”COOKIE 值:“valueC%3DstringSearch”
这不适用于 aspx 页面,除非我可以将 cookie 值设为“valueC=stringSearch”
这里有人知道如何使用 cookie 在 PHP 中获取“=”吗?
【问题讨论】:
-
@SamuelCook 如果您可以将 FreeTDS 添加到您的服务器(如果使用 Linux)。如果您使用的是 Windows 计算机,则可能会更容易。
-
PDO也有一个mssql驱动
-
@user2636774 您是否尝试过使用
header()而不是setcookie()快捷方式设置cookie? -
%3D是一个编码为=的网址。我会假设 .NET 在某处有一个 urldecode 函数。 -
我用 MSSQL 尝试过 PHP,这是一场噩梦,无法设置。对我来说,构建一个混合体会更快。