【问题标题】:Read classic ASP's cookies with PHP使用 PHP 读取经典 ASP 的 cookie
【发布时间】:2015-09-14 19:13:11
【问题描述】:

如何使用 PHP 获取 asp cookie 的名称和值,以便将其分配给变量? PHP 和 ASP 在同一个域中。

经典的 Asp 创建 Cookie

response.cookies("apple")("red")="reddelicious"
response.cookies("apple")("yellow")="gingergold"
response.cookies("apple")("green")="grannysmith"
response.cookies("apple").expires = dateadd("d",2,Now())

经典的 ASP 读取 Cookie

strRed = request.cookies("apple")("red")
strYellow = request.cookies("apple")("yellow")
strGreen = request.cookies("apple")("green")

使用 PHP echo 读取 ASP cookie

echo $_COOKIE["apple"];

在 firebug 中,在控制台中展开 'apple' cookie 后,'echo $_COOKIE["apple"]' 输出:

red=reddelicious&yellow=gingergold&green=grannysmith 

试过了:

$strRed = $_COOKIE["apple"]["red"]; //doesn't work

【问题讨论】:

    标签: php cookies asp-classic


    【解决方案1】:

    你可以在php中使用parse_str函数

    <?php
    
    parse_str($_COOKIE["apple"], $apple);
    
    echo($apple["red"]);
    
    ?>
    

    【讨论】:

      【解决方案2】:

      要将字符串red=reddelicious&amp;yellow=gingergold&amp;green=grannysmith 转换为多维数组的格式,请尝试以下操作:

      $itemArray = explode('&', $_COOKIE['apple']);  // Split variables at '&'
      foreach($itemArray as $item){ // for each variable pair 'key=value'
          $itemParts = explode('=', $item); // split string to '[key, value]'
          $apple[$itemParts[0]] = $itemParts[1]; // set each item to $apple[key] = value; 
      }
      

      然后你可以像这样使用变量:

      $strRed = $apple["red"]; //should work :)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多