GETを使用してiPhoneアプリケーションからオンラインフォームにデータ(ユーザー名とパスワード)を送信しようとしています。iPhoneアプリケーションからPOSTを使用してWebフォームにデータを送信する
これは私のソースコードですが、問題は自分のデータベースにデータが格納されないということです。
NSString *post =[[NSString alloc] initWithFormat:@"email=%@&password=%@",enterUserName.text,enterPass.text];
NSURL *url=[NSURL URLWithString:@"http://planetimpressions.com/contacts/imagecomm_register.php"];
NSLog(post);
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[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];
/* when we user https, we need to allow any HTTPS cerificates, so add the one line code,to tell teh NSURLRequest to accept any https certificate, i'm not sure about the security aspects
*/
[NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:[url host]];
NSError *error;
NSURLResponse *response;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *data=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
NSLog(@"%@",data);
ウェブフォームのソースコードは以下のとおりです。
if(isset($_GET['submit'])){
$email = $_GET['email'];
$password = $_GET['password'];
$conn = mysql_connect("mysql", "*****", "*****");
if(!$conn)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("imagecomm_users");
$sql = "INSERT INTO registration(number, email, password) VALUES (null,
'$email', '$password')";
if (!mysql_query($sql,$conn))
{
die('Error: ' . mysql_error());
}
}
?>
私はスクリプトをテストしましたが、それは問題なく動作します。私はユーザー名とパスワードをオンラインフォームを使ってデータベースに保存することができます。私が抱えている唯一の問題は、アプリケーションからオンラインフォームに接続することです。
コンソールにエラーメッセージが表示されない、または予期しないことが起こっています。ただ、何も起こりません。私はどんな助けにも感謝します。ありがとう
間違いはありますか?最終的なログには予期しないことがありますか?ネットワーク上のパケットトレースは、あなたが期待するものを示していますか?受信した内容を確認するためにサーバーをデバッグしましたか?あなたはデータベースが正しく接続されていることを知っていますか?このコードとデータベースとの間には大きなギャップがあり、このコードスニペットはほんの少ししか扱っていません。このような質問を投稿する前に、より多くの研究を行い、わからない場合はその研究をどうやって行うのかを尋ねてください。 –
は、あなたが提案した変更を反映するために質問を編集しました –