2013-08-27 35 views
0

我正在嘗試將我的用戶名發送到服務器。特此是我的Objective-C代碼:從設備到服務器發佈數據

NSURL *postUrl=[NSURL URLWithString:@"http://yatanadam.com/Nappsak/checkTheUser.php"]; 
NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:postUrl cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0f]; 

NSString *[email protected]"userName=yatanadam"; 
NSData* data = [strData dataUsingEncoding:NSUTF8StringEncoding]; 

[request setHTTPMethod:@"POST"]; 

[request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
[request setValue:[NSString stringWithFormat:@"%d",[data length]] forHTTPHeaderField:@"Content-Length"]; 

[request setHTTPBody:data]; 


NSURLResponse *response=nil; 
NSError *error=nil; 
NSData *result=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
NSString *string = [[NSString alloc] initWithData:result encoding:NSUTF8StringEncoding]; 

if (error==nil) { 

    NSLog(@"%@",string); 

} 

,並在此我的PHP代碼:

<?php 
$userName = $_POST["userName"]; 
echo $userName ; 

$con = mysql_connect("localhost","username","password"); 
if (!$con) 
{ 

    $hata= "hata"; 
    echo hata; 
    die('Baglanti saglanamadi: ' . mysql_error()); 
}mysql_select_db("yata", $con); 

$degisken= "Select * from Users where user_name=$userName"; 
$showresult = mysql_query($degisken); 

$multi_array = array(); 
while($row = mysql_fetch_assoc($showresult)){ 
    $multi_array[] = $row;} 
print json_encode($multi_array); 

?>} 

我在這個問題上幾個小時now.The的問題是我無法從服務器獲取正確的響應。我的服務器代碼無法捕捉到我的發佈數據(用戶名)。我存在任何可以幫助我的人哪裏是我的錯誤傢伙?

回答

0

您的標題說您要發送application/json(Content-Type),但實際發送的數據只是一個普通字符串(「userName = yatanadam」)。

你可能想要做的是發送application/x-www-form-urlencoded(它看起來就是你的PHP期望的)。

相關問題