iPhone в PHP для iPhone
Я пытаюсь создать систему входа в систему для приложения iPhone, но столкнулся с небольшой проблемой. Я считаю, что код, который я имею, отправляет строку NSString в php, но не возвращает строку, как я хочу. Что я делаю неправильно?
Я знаю, что код php сейчас не очень эффективен, я просто хочу видеть, что он хранит значения, которые я ему отправляю.
Спасибо!
XCode:
NSString *content = @"myusername=a&mypassword=s";
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://mywebsite.php"]];
urlRequest = [[[NSMutableURLRequest alloc] init] autorelease];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody:[content dataUsingEncoding:NSISOLatin1StringEncoding]];
// generates an autoreleased NSURLConnection
[NSURLConnection connectionWithRequest:request delegate:self];
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(returnString);
}
PHP:
echo "first ". $_POST['myusename']." return";
echo "second ". $_POST['mypassword']." return";
2 ответа
Решение
Вы выделяете 2 NSMutableURLRequest
объекты. Я постараюсь исправить вашу ошибку:
NSString *content = @"myusername=a&mypassword=s";
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://mywebsite.php"]];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:[content dataUsingEncoding:NSISOLatin1StringEncoding]];
...
Кроме того, строковые кодировки не совпадают, что может вызвать проблемы.
Вам может потребоваться установить тип содержимого urlrequest на application/x-www-url-formencoded, используя метод setHttpHeader по запросу