내 iPhone 응용 프로그램에서 보낸 HTTP 요청을 확인하는 PHP로 작성된 웹 서비스를 사용하고 있습니다. PHP 스크립트는 자격 증명이 맞는지 여부에 따라 예 또는 아니오를 반환합니다. 하드 코딩,하지만 그들은 예상대로 작동하지 않는 것처럼 보입니다. PHP 스크립트가 예를 반환하고 조건부가 실패하더라도 하드 코딩 된 문자열로 결과를 변경하려고 시도했지만이 작업은 ...목표 -C 휴식 응답
여기에 있습니다.
는 PHP로 작성된NSString *varyingString1 = @"username=";
NSString *varyingString2 = @"username";
NSString *varyingString3 = @"&password=";
NSString *varyingString4 = @"password";
NSString *post = [NSString stringWithFormat: @"%@%@%@%@", varyingString1, varyingString2, varyingString3, varyingString4];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"http://url.com/api/login.php"]];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:postData];
NSData *returnData = [NSURLConnection sendSynchronousRequest: request returningResponse: nil error: nil];
NSString *strResult = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSString *result = strResult;
result = [post stringByReplacingOccurrencesOfString:@" " withString:@""];
if(result == @"yes"){
NSLog(@"%@",strResult);
[self performSegueWithIdentifier:@"picker" sender:self];
}else{
NSLog(@"No");
}
내 웹 서비스는 다음이
과 같은 코드입니다<?php if($_POST['password'] == 'password' && $_POST['username'] == 'username') echo "yes";
else echo "no";
어떤 아이디어? 나머지
코드를 실행 한 후 "결과"의 값이 무엇을 사용하여 비교하려면? –
디버거를 사용하여 결과에 저장된 값을 검사하십시오. 변수 내에서 인식하지 못하는 다른 공백 문자가있을 수 있습니다. – Jeremy