2010-05-18 66 views
1

我的script.php接受$_POST輸入並回顯一個字符串。

$theinput = $_POST['theinput']; 
$output = //some processing; 
echo $output; 

我需要相同的代碼在不同的文件second.php另一個函數,不想重複的代碼。但第一個腳本script.php預計輸入爲$_POST。我在函數中的輸入不是$_POST只是一個常規參數。

function processinput($someinput){ 
    //run the same script above, 
    //just the input is a parameter, not a `$_POST` 
} 

任何想法如何做到這一點?是否可以模擬$_POST或類似的東西?

回答

3

你總是可以賦值$ _ POST,就好像它是一個數組。有點黑客工作,你可能最好改變函數來將參數值作爲參數,但它會起作用。

$_POST['theinput'] = "value"; 
0
function processinput($someinput){ 
    //I need to call the above script and give it 
    //the same input `$someinput` which is not a `$_POST` anymore 
    $results = strrev($someinput); 
    return $results; 
} 

$theinput = $_POST['theinput']; 
$output = processinput($theinput); 
echo $output; 
+0

感謝您的回答。但我不確定我是否明白答案。函數和腳本不在同一個文件中。此外,該函數調用'$ _POST'腳本,而不是圍繞 – donpal 2010-05-18 15:23:20

+0

-1:這是沒有道理的;據我所知,反轉字符串('strrev')與這個問題無關。 – JYelton 2010-05-18 15:38:36

+0

注意到這是爲了說明目的有所幫助,謝謝你清理它。 – JYelton 2010-05-18 16:29:19

1

您是在尋找includeinclude_once的方法嗎?

second.php:

function processinput($someinput){ 
    $output = //some processing; 
    echo $output; 
} 

的script.php:

include_once('second.php'); // second.php contains processinput() 
$theinput = $_POST['theinput']; 
processinput($theinput);