Я разработчик для iPhone, и недавно я перешел на PHP.
На сайте, который я недавно сделал для кого-то, я сделал форму обратной связи . Это передает данные в файл PHP через POST, а затем мои коды PHP сохраняют их в базе данных MySQL. Человек, для которого я создал сайт, сможет просмотреть его на CMS, которую я для них сделал.
Это все замечательно (и у меня нет проблем с PHP), но что, если я захочу сделать это из приложения для iphone (прямо на сервер)?
Сделаете ли вы запрос GET следующим образом: http://www.mysite.com/app_data/submit_feedback.php?api_key=somekey&name=somename&email=someemail&feedback=lots%20of%20characters%20with%lots%20of%20escapes%20in
Или можно отправить данные POST с iPhone? Должен ли я использовать ASIHTTPRequest? Или я должен упаковать данные в XML / JSON и как-нибудь загрузить файл?
Буду признателен за любые советы по этому вопросу.
Для этого требуется ASIHTTPRequest, особенно подкласс ASIFormDataRequest. Вы можете загрузить запрос с полями почтовых данных, а затем асинхронно грохнуть его на сервере в фоновом режиме. Идеально подходит для такого рода вещей.
Здесь много хорошего примера кода: http://allseeing -i.com / ASIHTTPRequest / Как в использовании # sending_a_form_post_with_ASIFormDataRequest
Вы можете использовать ASIHttpRequest или использовать стандартные API NSURLConnection и NSMutableURLRequest.
Вы можете отправить POST, используя NSMutableURLRequest:
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlEncoded] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60]; [urlRequest setHTTPMethod:@"POST"]; [urlRequest setHTTPBody:[ requestBody dataUsingEncoding:NSUTF8StringEncoding]]; .... theConnection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self];
Я мог бы продолжить и предоставить полный пример, ноВы должны просто посмотреть на пример яблок
http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/URLLoadingSystem/Tasks/UsingNSURLConnection.html