Xcode: самый простой способ отправить данные из iOS TextField, например, в удаленную базу данных - PullRequest
1 голос
/ 01 марта 2012

В настоящее время у меня есть онлайновая база данных MySQL, размещенная на веб-сайте HostGator.com, в которой в настоящее время хранятся подписки пользователей на мою службу. В настоящее время единственным способом хранения информации в этой базе данных является использование моей онлайн-формы на веб-сайте.

Моя цель - воспроизвести эту форму в приложении для iOS с помощью текстовых полей и т. Д. Мне нужна помощь в выяснении того, как я могу получить данные, введенные пользователем в приложении для iOS, и отправить эту информацию в базу данных MySQL. , Из того, что я обнаружил, нет возможности перейти с iOS прямо на MySQL, поэтому мне нужно будет также использовать PHP. Однако как я могу передать эти данные из приложения iOS в PHP, чтобы я мог отправлять данные из PHP в базу данных MySQL? А также, как я могу сделать наоборот, то есть, если я хочу, как я могу отправить сообщение обратно из PHP в приложение iOS?

Я слышал, что люди предлагают SQLite, но это похоже на локальную базу данных на iOS, которая мне не нужна. Я не хочу хранить что-либо локально в приложении.

Спасибо

1 Ответ

6 голосов
/ 01 марта 2012

Вы можете просто собрать данные из собственной формы, а затем использовать NSURLRequest / NSURLConnection для отправки данных на страницу вашего php-сервера.

//Example form with one php variable only. Use get URL argument notation to add more args.
NSString *rawStr = [NSString stringWithFormat:@"var=%@",textBox.text];
NSData *data = [rawStr dataUsingEncoding:NSUTF8StringEncoding];

NSURL *url = [NSURL URLWithString:@"http://myurl.com/script.php"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

[request setHTTPMethod:@"POST"];
[request setHTTPBody:data];

NSURLResponse *response;
NSError *err;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
NSLog(@"responseData: %@", responseData);
...