2009-08-31 42 views

回答

2

是的,如果你使用POST把它传递到PHP页面或GET(查询字符串或表格),这意味着从ASP页第一次得到的值,然后将它发送到你的PHP页面。你也可以看看this question on Stack Overflow,它提供了一个不同的解决方案。

*编辑:可能的解决方案:

第二个可以为PHP有​​一点创造性的工作为好。

+0

即时通讯不知道答案即时寻找。 php页面将在登录页面后加载到iframe中。 – khalil 2009-08-31 04:04:47

+0

如果是这种情况,将其添加到您问题的文本中可能是一个好主意。要获得具体答案,您需要针对您的问题进行具体说明。 – 2009-08-31 04:46:11

+0

更新了我的答案,并提供了一些可能有用的附加信息。 – 2009-08-31 04:52:55

1

你为什么不只是存储在ASP.NET页面的User.Identity.Name在会话中,然后当你调用PHP页面,您可以只从该会议找回? 只要它的网站相同,就应该可以工作。

+0

这意味着我将需要使用$ _SESSION? – khalil 2009-08-31 04:24:28

+0

但是,存储会话信息的本机方法在PHP和ASP.NET中有所不同。但是你可以强制将所需的信息存储在数据库中。 – 2009-08-31 04:38:52

+0

任何例子?谢谢 – khalil 2009-08-31 04:41:58

0

既然你提到的iframe装载PHP脚本,你想要做这样的事情:

<iframe src="myscript.php?username=<%= User.Identity.Name %>" /> 

这通过标识名一起作为一个GET参数,通过Boekwurm的建议。

然后,在你的PHP脚本,抓住它,就像这样:

username = $_GET["username"]; 

取决于你用它做什么,你可能需要在一些地方的安全,防止人们任意运行PHP脚本用户名参数。

+2

传递变量,他们就可以通过更改用户名来欺骗系统。 – khalil 2009-08-31 04:17:42

+0

是的,这就是为什么你需要一些安全性(正如我的文章所述)。例如,尝试在数据库中生成一个令牌,然后在PHP脚本中将该令牌进行匹配。 – JoshJordan 2009-08-31 04:46:12

+1

真的,您应该在iframe中使用ASP.NET(aspx)页面,并使用POST请求对PHP脚本进行AJAX调用,从而掩盖了您传递用户名的事实,但是**仍然会需要一个安全令牌**或等效的。 – JoshJordan 2009-08-31 04:51:49