繼this question之後,我意識到只有在使用表單時才能使用$ POST。PHP網址 - 這是一個可行的黑客?
當沒有表單仍然使用jQuery或cURL不會解決我需要在URL中發佈一個長字符串的問題。
問題
我需要將數據從一個桌面應用程序發送到我的數據庫,所以想出最好的辦法是使用以下URL格式並追加數據到最後,所以就變成:
www.mysite.com/myscript.php?testdata=somedata,moredata,123,xyz,etc,etc,thisgetslong
與我以前的腳本,我使用$ GET來讀取[testdata =]字符串和我的虛擬主機告訴我$ GET只能讀取512個字符,所以這是問題。
哈克
使用下面的腳本,我現在可以寫幾千字的;我的問題,這是可行的還是有更好的辦法?
<?
include("connect.php"); //Connect to the database
//hack - read the url directly and search the string for the data i need
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$findme = '=';
$pos = strpos($actual_link, $findme) + 1; //find start of data to write
$data = substr($actual_link, $pos); //grab data from url
$result = mysql_query("INSERT INTO test (testdata) VALUES ('$data')");
// Check result
if ($result) {echo $data;}
else echo "Error ".$mysqli->error;
mysql_close(); ?>
編輯: 用PHP代碼替換圖像。
我已經學會了如何不是要問一個問題 - 不要使用黑客這個詞,因爲它激怒了人們的羽毛,並且不使用圖像代碼。
我只是不知道如何將一個長字符串傳遞給一個無形的PHP頁面,雖然我很欣賞人們的回答,但關於cURL的答案對我來說沒有意義。從this page,我不清楚你是如何從.NET應用傳遞字符串的。我顯然需要做大量的研究併爲我的asinine問題道歉。
不相關,我知道這是測試代碼,但請注意,您很容易受到SQL注入攻擊。 – Vache
爲什麼不直接發送POST請求並將其放入主體? – SLaks
@SLaks - 我不知道你的意思,抱歉我的困惑。我在哪裏把它放在身體裏?我需要從一個獨立的應用程序發送一大塊數據,我只使用一個url接口,所以我如何創建一個body?你的意思是我應該創建一個PHP表單頁面,然後腳本可以使用$ POST? – Data46