通过PHP设置cookie以供ASPX使用

时间:2013-12-02 17:37:56

标签: php asp.net cookies

我别无选择,只能使用.NET构建搜索页面,因为需要新网站的商务合作伙伴使用MSSQL作为他的数据库。

然而,在我目前的情况下,我别无选择,所以我正在构建一个HTML5 / .NET混合体。

我有一个在ASPX中构建的网页,默认情况下加载时会根据如下设置的cookie参数搜索库存数据库:

  

COOKIE NAME:“searchParameter”COOKIE VALUE:“valueC = stringSearch”

但是我无法在PHP中复制上面的cookie,因为在PHP中删除了等号'='

  

COOKIE NAME:“searchParameter”COOKIE VALUE:“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 NAME:“searchParameter”COOKIE VALUE:“valueC%3DstringSearch”

这不适用于aspx页面,除非我可以将cookie值设为“valueC = stringSearch”

有没有人知道如何在PHP中使用Cookie获取'='?

1 个答案:

答案 0 :(得分:2)

您有几种选择:

  • urldecoding ASP上的值
  • 使用header()设置Cookie标头
  • 使用setrawcookie()来避免自动urlencoding,因为setcookie()上的文档说