2012-03-08 33 views
0

所以我有一個名爲instance.php的文件,其中包含我的類「列表」。第2頁發送 $ _POST參數到instance.php。贊成instance.php實例化一個「列表」的對象,並回顯一個唯一的ID。我想要第2頁來捕獲這個ID,甚至可能比這更多。

問題是instance.php和page 2不在同一臺服務器上。我知道如何在Java中很好地處理oop,但我感覺到在php中並不那麼簡單。我很確定我在這裏錯過了一些東西。

你能幫我推薦一個好的設計來滿足我的實施要求嗎?

編輯:爲了清楚起見,我正在尋找一種方法來處理兩個或更多不存在於同一個服務器/域中的php文件來建立這種關係。

+0

什麼是「頁面2」? – 2012-03-08 02:22:49

+0

第2頁是將帶有一些數據的$ _POST參數發送到instance.php – Tom 2012-03-08 02:25:31

+0

的頁面您是否可以發佈您的代碼,以便我們瞭解您正在嘗試執行的是我們認爲我們正在解決的問題?當你說「第2頁發送$ _POST參數到instance.php」時,你的意思是你在瀏覽器中訪問第2頁併發送

到instance.php?使用正常的HTTP交互或AJAX?或者你是否試圖讓你的PHP在服務器端完成這種通信,使用類似cURL或其他Web服務通信方法? 編輯:要清楚,第一種方法聽起來不像你想要的,其他人可以做你想要的東西 – Jason 2012-03-08 03:08:37

回答

2

如果你堅持使用POST進行交互(這是一個奇怪的選擇),那麼你將不得不使用cULR來促進它。

另一種方法是使用file_get_contents()函數。這會限制您僅使用GET方法:

// in your Page2 
$val = 12345; 
$data = file_get_contents("http://external.site.foo/instance.php?param={$val}"); 
var_dump($data); 

// in the instance.php 
echo $_GET['param'] , '-verified'; 
+0

'file_get_contents()':) – SenorAmor 2012-03-08 02:40:56

+0

其file_get_contents() – 2012-03-08 02:41:16

+1

對不起,@ GuilhermeViebig ..現在是凌晨4點這裏.. – 2012-03-08 02:44:47

0

您將需要安裝和使用cURL。在第2頁的代碼看起來是這樣的:

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, "http://example.com/instance.php"); 
curl_setopt($ch, CURLOPT_POSTFIELDS, "key1=value1&key2=value2"); 

$id = curl_exec($ch); 

curl_close($ch); 

如果你想獲取比ID多,我建議在instance.php製造array()和其序列:

echo serialize(array("id" => 1, "name" => "John")); 

和反序列化它在第2頁

... 
$arr = unserialize(curl_exec($ch)) 
...