NSURLConnection с POST не работает

Я пытаюсь запросить параметры анализа URL-адреса с помощью POST, но mypage.php не получает эти параметры... Вот мой код:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://myurl/mypage.php"]];
NSString *params = [[NSString alloc]initWithFormat:@"name=%@&surname=%@&location=%@&email=%@&password=%@&gender=%@&tipo=%@", name, surname, location, email, password, gender, tipo];                   
[request setHTTPMethod:@"POST"];
[request setHTTPBody:[params dataUsingEncoding:NSUTF8StringEncoding]];
NSLog(params);
NSURLConnection *conn=[[NSURLConnection alloc] initWithRequest:request delegate:self];
if (conn) {
    webData = [[NSMutableData data] retain];
}
else
{
}

и моя страница.php

if($_POST['name'] != "" && $_POST['email'] != "") 
//Here the $_POST['name'] and the $_POST['email'] are empty...

person Aranha Silva    schedule 31.05.2013    source источник
comment
Пожалуйста, прочтите описание тега Xcode. Это не соответствует вашему вопросу.   -  person rmaddy    schedule 31.05.2013
comment
Просто подсказка: каждый раз, когда вы озаглавили вопрос «какой-то языковой особенностью», это не сработает, вы моментально настроите против себя многих читателей. Скорее всего, ‹какая-то языковая функция› прекрасно работает, но вы просто не умеете ею пользоваться.   -  person Hot Licks    schedule 31.05.2013


Ответы (2)


Вы не запускаете соединение. Вы должны сделать это с [conn start];

person Bruno Koga    schedule 31.05.2013
comment
«это не работает» бесполезно. Есть ли сообщения журнала консоли? Ошибки? Реализуете ли вы какие-либо методы делегирования? Откуда вы знаете, что в вашем скрипте пусто и скрипт не просто так не вызывается? Можете ли вы опубликовать полный код? - person uliwitness; 31.05.2013
comment
Я уже объяснил, что я имею в виду под не работает, результат ‹br› не входит в условие из mypage.php if($_POST['name'] != && $_POST['email'] != ) - person Aranha Silva; 31.05.2013
comment
Бруно документация гласит: "Возвращает инициализированное URL-соединение и начинает загружать данные для запроса URL". - person JoePasq; 03.06.2013

Попробуй это:

NSString *params=[NSString stringWithFormat:@"name=%@&surname=%@&location=%@&email=%@&password=%@&gender=%@&tipo=%@", name, surname, location, email, password, gender, tipo];
NSData *postData=[params dataUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:@"http://myurl/mypage.php"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
[request setValue:[NSString stringWithFormat:@"%i",postData.length] forHTTPHeaderField:@"Content-Length"];  

NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
if (data!=nil) {
   NSString *output=[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
   NSLog(@"output: %@", output);
}else{
   NSLog(@"data is empty");
}
person Alexey    schedule 03.06.2013