2012-12-09 24 views
0

我有一個鏈接到一個PHP文件,下面的代碼,目的是發佈一些字符串和PHP文件檢索,所有的東西工作正常,但事情是錯我的代碼,請參閱波紋管:ASIFormDataRequest POST錯誤 - 的iOS 6

的iOS應用程序代碼

NSString *urlString = @"http://www.myurl.com/path/ios.st.addquestion.php?"; 
    NSURL *uploadURL = [NSURL URLWithString:urlString]; 
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:uploadURL]; 

    [request setPostValue:askerUsername forKey:@"username"]; 
    [request setPostValue:@"1" forKey:@"questiontype"]; 
    [request setPostValue:title forKey:@"title"]; 
    [request setPostValue:hasAditional forKey:@"hasaditional"]; 
    [request setPostValue:aditional forKey:@"aditional"]; 
    [request setPostValue:hasLocation forKey:@"haslocation"]; 
    [request setPostValue:location forKey:@"location"]; 
    [request setPostValue:latitude forKey:@"latitude"]; 
    [request setPostValue:longitude forKey:@"longitude"]; 
    [request setPostValue:category forKey:@"category"]; 
    [request setPostValue:hasImage forKey:@"hasimage"]; 
    [request startAsynchronous]; 

PHP文件

$questiontype = mysql_real_escape_string($_GET['questiontype']); 

    $username_PRO = mysql_real_escape_string($_GET['username']); 

    $title_PRO = mysql_real_escape_string($_GET['title']); 
    $hasAditional = mysql_real_escape_string($_GET['hasaditional']); 
    $aditional_PRO = mysql_real_escape_string($_GET['aditional']); 

    $hasLocation = mysql_real_escape_string($_GET['haslocation']); 
    $location_PRO = mysql_real_escape_string($_GET['location']); 
    $latitude_PRO = mysql_real_escape_string($_GET['latitude']); 
    $longitude_PRO = mysql_real_escape_string($_GET['longitude']); 

    $category = mysql_real_escape_string($_GET['category']); 

    echo "$username_PRO"; 

當我運行的應用程序和POST字符串到PHP文件,什麼都不會發生,就像PHP收到一個空值,我無法弄清楚什麼是錯在我的代碼,任何人都知道的過程是這樣的?

應用程序=> ASIFormDataRequest(Post values)=>PHP文件接收請求並在MYSQL數據庫上插入字符串(問題在這裏)。

我已經在網上搜索上和ASI的網站,但似乎沒有任何工作。

+1

您是否正在實施'request'的委託?如果是這樣,也許'requestFailed:'方法可以提供更多的線索。事實上,關於問題出在哪裏的信息太少。 – FluffulousChimp

回答

2

我認爲的代碼是正確的,但是 ,您發佈到PHP和使用$ _GET在PHP可能是問題。

嘗試使用$ _POST來獲取POST值,或者你可以轉儲$ _REQUEST,看看你有什麼發送到你的PHP。

+0

這樣一個愚蠢的錯誤,許多感謝的人。 – Mateus

1

您正在使用setPostValuePHP-script正在尋找GET變量。將所有變量的PHPcode更改爲$username_PRO = mysql_real_escape_string($_POST['username']),或將值作爲GET的值與http://url?name=value&name2=value2 ...

+0

投票解釋,謝謝! – Mateus