2011-10-20 3 views
0

Je fais une page d'inscription où l'utilisateur peut s'inscrire? ceci est mon code ..............comment écrire des données sur le serveur?

-(IBAction)btn_log:(id)sender 
    { 

//NSString* username = nameInput.text; 
//NSString* pass = passInput.text; 

NSString* firstname = nameInput.text; 
NSString* lastname = passInput.text; 
NSString* bname = lastInput.text; 


NSString *post = 
[[NSString alloc] initWithFormat:@"fname=%@&lname=%@&email=%@",firstname,lastname,bname]; 

//NSString *post = [[NSString alloc]initWithFormat:@"fname=firstname&lname=lastname&email=bname]; 

NSData * postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:NO]; 
NSString * postLength = [NSString stringWithFormat:@"%d",[postData length]]; 
NSMutableURLRequest * request = [[[NSMutableURLRequest alloc] init] autorelease]; 
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://www.yoursite.com/file.php"]]]; 
[request setHTTPMethod:@"POST"]; 
[request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
[request setHTTPBody:postData]; 
NSURLConnection * conn = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 

if (conn) NSLog(@"Connection Successful"); 
    } 

Mais il ne fonctionne pas si s'il vous plaît quelqu'un peut me suggérer où je fais erreur.

+1

pouvez-vous donner plus d'informations sur les raisons pour lesquelles la demande ne fonctionne pas? il y a tellement de façons différentes que l'appel pourrait échouer. – richerd

+0

Regardez la documentation du délégué NSURLConnection – Rog

+0

Je peux envoyer des données inconditionnelles à la base de données mais quand je veux passer les données de ma chaîne à la base de données mais ça ne va pas –

Répondre

0
NSURLConnection * conn = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 

Remplacez la ligne au-dessus de votre code par la ligne suivante. Cela fonctionnera probablement.

NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
+1

Cela bloquera l'interface utilisateur – Rog

+0

Je ne sais pas parce que dans mon application j'ai montré l'indicateur d'activité. – Stark

1

essayer de cette manière peut-être cela vous aidera

NSURL * url = [NSURL URLWithString: [NSString stringWithFormat: @ "http://www.yoursite.com/file.php"] ]]; nsstring * body = [Chaîne nschaîneformatée: @ "% @,% @", entrée name, paasinput]; nsmutableurlrequest * request = [nsmutablerequest alloc] initwithurl: url];

[demande setHTTPMethod: @ "POST"]; [request setValue: @ "application/x-www-format-urlencoded" pourHTTPHeaderField: @ "Content-Type"]; [demande sethttpbody: [body dataysubgebcidubg: asciiiencoding allowlossyconversion: true]]; [request setValue: postLength pourHTTPHeaderField: @ "Content-Length"]; [demande setHTTPBody: postData]; NSURLConnection * conn = [[NSURLConnection alloc] initWithRequest: demande délégué: self];

si (conn) NSLog (@ "Connexion réussie");

Questions connexes