与使用数据库相比,经典ASP和PHP之间共享会话 - php

我们有一个经过多年开发并在IIS6上运行的ASP Intranet Web应用程序。如今,我们想使用PHP语言添加一些新功能。 PHP在同一台服务器上运行良好。会话变量需要在ASP和PHP之间共享。

我在问是否还有其他选择可以在经典ASP和PHP之间共享会话,而不是使用数据库作为网关(对我们来说浪费太多资源)?双方都需要读取/编辑会话变量。

通过一些调整,我注意到每次用户登录ASP Web应用程序时,都会在PHP端生成PHPSESSID和ASPSESSIONID。这些在ASP端也可见,它们存储在服务器变量HTTP_COOKIE内,因此我认为ASP会话和PHP会话变量之间的关联可能在IIS的中心。

所以,

-ASP-

<% Response.write ('HTTP_COOKIE') %> 

给出:

__utma=...; __utmz=...; computer%5Fid=AAA; lan=fre;ASPSESSIONIDXXXXXXXX=BBBBBBBBBBBBBBBBBBBBBBBB; user_login=cccc

-PHP-

    echo '<pre>';
    var_dump($_COOKIE) ?>
    echo '</pre>';

给出:

Array
(
    [__utma] => ...
    [__utmz] => ...
    [computer_id] => AAA
    [lan] => fre
    [ASPSESSIONIDXXXXXXXX] => BBBBBBBBBBBBBBBBBBBBBBBB
    [user_login] => cccc
)

在ASP方面,如果我写的话:

<% Request.Cookies(strCookie)(strKey) %>

在一个循环中,它为我提供了存储的键/值会话cookie的一堆列表。

但是在PHP方面,我找不到获取这些键/值列表的方法。可能是找到更多信息的方法吗?实际的现有实现会有所帮助,但欢迎您提供任何答案。

参考方案

我以前从未在PHP中使用过会话变量,因此在这里我假设您已经为$ var1和$ var2分配了要传递给ASP文件的会话变量的值。

<iframe height="0" width="0" scrolling="No" src="setsession.asp?var1=<?php echo $var1; ?>&var2=<?php echo $var2; ?>"></iframe>

然后,您的setsession.asp文件将只是

<%
Session("var1") = Request.Querystring("var1")
Session("var2") = Request.Querystring("var2")
%>

显然,您可以用另一种方法来做到这一点,您只需要了解如何处理两种语言的查询字符串和会话变量即可

php:将分钟取整到最近的四分之一小时,然后执行更多操作 - php

最初的问题是这样的:取分钟数->转换为四分之一小时-> 1个四分之一小时为1个单位->输出单位我今天整天都在整理页面,几分钟前我的大脑就停止工作了,我只是不知道如何输出单位数量。我知道在此网站上发布问题会有所帮助。因此,用户输入的分钟数(不是小时和分钟,而是数分钟),站点需要输出单位数量。单位是一个刻钟。分钟总是四舍五入到最近的四分之一小时…

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…

PHP-复选框组 - php

我有一个需要发布的表单复选框组。<input type="checkbox" value="true" checked name="chk0[]"> <input type="checkbox" value="false" name=…

PHP OOP概念付诸实践 - php

目前,我所拥有的是一份以程序庄园形式编写的审查表。我想更改一些内容,并希望在此过程中,根据过去的经验,在OOP中,网站的整个审核部分会更好。数据流如下:HTML表单=>提交=> jQuery验证=>? => PHP验证=>添加记录我的问题是要了解将POST数据传递给类的正确方法是使用AJAX / jQuery或使用具有标准感谢页…

PHP-将日期插入日期时间字段 - php

我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数