0

PHP Web サービスを使用して、長いテキストを mysql データベースに保存する必要があるアプリケーションに取り組んでいます。Web サービスを作成しましたが、iphone から php Web サービスにパラメーターを送信できません。以下は、Web サービスのコードです。

<?php
require_once('config.php');
$username = $_POST["username"];
$aboutme = $_POST["aboutme"];

$conn = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die('Connection to database failed: ' . mysql_error());
mysql_select_db(DB_DATABASE) or die ('select_db failed!');
$query = "insert into Member(username, aboutMe) values(.'".$username."', '".$aboutme."')";
echo $query;
$result = mysql_query($query) or die(mysql_error());
echo $result;

mysql_close($con);

?>

データを Web サービスにポストするコードを見つけましたが、ポスト リクエストにデータを追加できません。

status=[NSString stringWithFormat:@"username=%@&password=%@&interestedIn=%@&aboutme=%@&profilePic=%@&isFBLogin=%@&useFacebookPic=%@",[@"aaaaaaaaa" stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding],[@ "bbbbbb" stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]、[@"female" stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]、[@"about meeeeeee" stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]、[@"profile.png" stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]、[@"0" stringByAddingPercentEscapesEncodingsPerAddingNSASCIIEncodings ,[@"0" stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]]; //status = @"username=pankaj1234&

NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://www.domain.com/registerUser.php"]];
[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];

NSURLResponse *response;
NSError *error;
[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSLog(@"success!");

これらの値をリクエストに追加するにはどうすればよいですか? 誰か助けてくれませんか?

ありがとうござい
ます

4

1 に答える 1

1

www フォームを投稿していますが、データを適切にエンコードしていません。

フォームの構文は次のとおりですkey=value&key=value。キーと値の両方が URL エンコードされています。

エンコードされた文字列 (「ステータス」) は、次のようにエンコードする必要があります。

status=[NSString stringWithFormat:@"username=%@&aboutme=%@",[username stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding],[about stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]];

その後、残りのコードを使用して NSData に変換し、Web サービスに投稿できます。

于 2012-03-03T18:59:31.550 に答える