レシピのオンライン データベースへのアクセスを必要とするレシピ アプリケーションを作成しています。
現在、相手側でデータを受信できません。ただし、NSURLRequest が正しいページに到達していることを確認しました。
リクエストコードは次のとおりです。
_ _ _ __.m ファイル
NSURL *URL = [NSURL URLWithString:@"http://localhost/"];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
request = [NSMutableURLRequest requestWithURL:URL
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60.0];
[request setHTTPMethod:@"POST"];
NSURLConnection *connection= [[NSURLConnection alloc] initWithRequest:request delegate:self];
// store recipe
NSString *path = [[NSBundle mainBundle] pathForResource:@"Recipes" ofType:@"plist"];
NSMutableDictionary *dictionaryOfRecipes = [[NSMutableDictionary alloc] initWithContentsOfFile:path];
NSMutableArray *arrayOfRecipes = [dictionaryOfRecipes objectForKey:@"recipesArray"];
NSData *data = [[NSData alloc] init];
data = [arrayOfRecipes objectAtIndex:self.thisRecipeIndex];
// post data
[request setHTTPBody:data];
[connection start];
送信中のデータを印刷する
(NSData *) $2 = 0x09071f40 {
ingredients = (
"penne pasta",
water
);
instructions = (
"put the penne in the water",
boil
);
recipeName = Penne;
}
_ ____.php ファイル
<?php
// initialize connection to database
$db = mysql_connect('localhost', 'xxxxxxx', 'xxxxxxx');
$db_name = "project3";
mysql_select_db($db_name, $db);
// store incoming data as php variables
error_log(print_r($_POST, true));
$recipeName = $_POST['recipeName'];
// create mysql query
$query = "INSERT INTO recipeNamesTable (recipeName) VALUES '$recipeName'";
mysql_query($query);
mysql_close($db);
?>
潜在的な問題についていくつか推測していますが、正しいかどうかはわかりません。は[arrayOfRecipes objectAtIndex:self.thisRecipeIndex]
ですが、NSDictionary
として保存しNSData
ますが、これはエラーを返さないので、そのままにしておきます。それをそのまま保存してNSDictionary
からに変換する必要がありNSData
ますか?これが問題でない場合は、上記の他の問題についてフィードバックをいただければ幸いです。