2012-01-13 73 views
1

有沒有辦法使用Session或其他方式輕鬆地將值從ASP.NET傳遞到PHP?我嘗試了下面的方式,但它不適合我。任何人或者糾正下面的代碼,或者建議我一種將值從ASP.NET傳遞到PHP而不使用URL查詢字符串的方式。將值從ASP.NET傳遞到PHP

ASP.NET代碼。

protected void Button1_Click(object sender, EventArgs e) 
    { 
     HttpCookie cookie = new HttpCookie("myvalue1"); 
     cookie.Value = "[email protected]"; 
     Response.Redirect("Default.php"); 
    } 

PHP代碼。

<?php 
session_start(); 
$_COOKIE['myvalue1']; 
$cookies = getCookies(); 
$sessionId = $cookies['myvalue1']; 
?> 
+0

你可以(小心)使用標準的HTML表單文章,並使用查詢字符串。 – David 2012-01-13 20:38:45

+0

@DavidStratton - 兩者都不安全!這樣做,用戶可以修改其值。 – 2012-01-13 20:40:04

+1

餅乾也是。如果你需要驗證,在ASP.NET上加密並在PHP上解密(AES/base64完美) – 2012-01-13 20:41:52

回答

-2
Response.Redirect("Default.php?myparam=myvalue"); 
+0

請再次閱讀我的問題。我明確提到不使用URL查詢字符串方法。 – 2012-01-13 20:41:41

1

有幾個方法可以做到這一點,但沒有一個是特別性感。

  1. 使用httpwebrequest將數據從asp.net發佈到所有完成的服務器端的php頁面。
  2. 具有加密值的cookie。
  3. 如果php和.net都在同一臺服務器上運行,則保存到文件系統。
  4. 數據庫服務器。
  5. ASP.NET支持多種形式的持久會話狀態。 State Server和Sql是其中的兩個。我相信PHP可以配置爲閱讀它們。你必須研究如何做到這一點。用於在ASP.NET和經典ASP之間共享會話的文章。概念上是一樣的,並且在文章中有ASP.NET配置部分。 http://msdn.microsoft.com/en-us/library/aa479313.aspx

編輯: 你甚至可以推出自己的狀態服務器。創建一個存儲來自asp.net和php的數據的Web服務,在需要時檢索它。

+0

很好的答案!尋求語法:( – 2012-01-13 20:48:29

+1

http://msdn.microsoft.com/en-us/library/debx8sh9.aspx是一篇關於如何使用httpwebrequest發送數據的文章,您可以使用普通get獲取發佈的數據並保存到php會話中/在php中發佈參數處理。 – Darthg8r 2012-01-13 20:51:53