2012-11-07 64 views
-2

我有一個參數A和它的25000個字符長。 如何在PHP中使用GET方法發送參數A?如何在後臺代碼中使用post方法發送?

$kq=0; 
$msg1= strtr(base64_encode($msg), '+/=', '-_,');    
$Title1=strtr(base64_encode($Title), '+/=', '-_,'); 
header("Location:".JRoute::_('./index.php/i0702?'.'kq='.$kq."&Title=".$Title1."&Msg=".$msg1)); 

注意:strlen($ msg1)> 25000個字符。現在,如何使用post方法發送?

+5

使用POST方法 – GBD

+0

您應該避免執行如此長的HTTP GET請求。將其設爲「POST」請求;一些HTTP客戶端和服務器可能會接受長時間的GET請求,而另一些則不會。 –

+0

簡單:你沒有。爲什麼它必須在URL中? – deceze

回答

1

您可以從GET方法發送的最大字符數爲3000.使用POST方法。

<form method="POST" action="your/url/to/open.php"> 

    <input type="text" value="<?php echo $a; ?>" /> 
    <input type="submit" /> 

</form> 
+0

如何用方法POST打開1個URL? IN CODE BEHIND – mum

+0

@mum,在我的示例中,將URL作爲「action =」....「」放在表單中。 – Starx

1

一個http請求的最大大小依賴於客戶端和服務器來處理它......它根據你使用的客戶端/服務器的組合而變化。

This解釋了爲什麼25K HTTP GET請求在現實世界中不可行,除非您可以選擇您正在運行的客戶端和服務器(絕對不是Internet網站,可能用於Intranet應用程序)。

建議切換到HTTP POST請求(HTML表單可以處理此問題)。如果這不適合你,你應該考慮重構你的應用程序數據流。

0

由於您在同一頁面內重定向,因此請將大型數據服務器端保存在會話或數據庫中,並且僅放置一個小號,以便您可以將該數據再次檢索到URL中。

相關問題