2011-01-29 7 views
4

목적-C와 PHP에서 POST 방법 목표를-C내가 통해 다음과 같은 POST 방법 만든

-(IBAction) postLocation: (id) sender{ 
NSString *latitude = @"37.3229978"; 
NSString *longitude = @"-122.0321823"; 

NSMutableURLRequest *request =[NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://www.mydomain.me/webservice.php"]]; 
[request setHTTPMethod:@"POST"]; 

NSString *post =[[NSString alloc] initWithFormat:@"latitude=%@longitude=%@submit",latitude,longitude]; 
[request setHTTPBody:[post dataUsingEncoding:NSUTF8StringEncoding]]; 

NSURLResponse *response; 
     NSError *err; 
     NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err]; 
     } 

내 PHP 코드는 다음과 같습니다

if (isset($_POST['submit']){ 

    //it doesn't get into this if statement 
    $latitude = $_POST['latitude']; 
    $longitude = $_POST['longitude']; 

} 

질문은, 왜 수 없습니다 PHP 코드가 if 문에 들어가는가? 객관적인 C를 통해 '제출'을 어디에서 확인할 수 있습니까?

+0

나는 대답을 찾았습니까? 나는이 정확한 문제를 겪고있다 : http://stackoverflow.com/questions/13110180/php-get-value-erased-when-placed-in-ifisset – Celeste

답변

3

POST에 대한 쿼리 문자열에 submit 키가 없습니다. 당신은 아마, 대신 당신이 양식 포스트를 확인하기 위해 지금 가지고있는 코드의 if($_SERVER['REQUEST_METHOD'] == 'POST')을 사용하는 간단 다음

NSString *post =[[NSString alloc] initWithFormat:@"latitude=%@&longitude=%@&submit=",latitude,longitude]; 
+0

분명히 그것은 여전히 ​​아무것도하지 않는다 .... 어떻게 체크 할 수있다 나의 if 문 안에 실제로 코드를 트리거하는 PHP 코드가 있습니까? – aherlambang

+0

PHP 파일에서 로그에 기록하여 호출 및 조치의 유효성을 검증 할 수 있습니다. – mhitza

+0

좋아요, 오류 로그를 시도했는데 위의 수정 후에도 if 문에 들어 가지 않아서 생성되지 않습니다 ... 내가 뭘 잘못하고 있니? – aherlambang

0

로 변경해야합니다.

2

매개 변수 사이에 "&"이 없습니다.

2
-(IBAction) postLocation: (id) sender{ 

    NSString *latitude = @"37.3229978"; 
    NSString *longitude = @"-122.0321823"; 

    NSString *post = [NSString stringWithFormat:@"&latitude=%@&longitude=%@", latitude, longitude]; 

    NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; 
    NSString *postLength = [NSString stringWithFormat:@"%d",[postData length]]; 
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 

    NSString *address_url = @"http://www.mydomain.me/webservice.php?"; 

    address_url = [address stringByAppendingString:post]; 

    [request setURL:[NSURL URLWithString:[NSString stringWithFormat:address]]]; 
    [request setHTTPMethod:@"POST"]; 
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Current-Type"]; 
} 
관련 문제