そこで、機能する新しいコードで質問コードを修正し、他の人が支援できるように質問のタイトルも変更しました。
私の問題は、アプリケーション内でinPOST
メソッドを使用していることでしたが、PHP
側面では、inGET
メソッドを使用しています。に変更しただけで、POST
完全に機能しました。
楽しみ。
サーバーからユーザー名が間違っているというエラーが表示され続けますが、ここで何が間違っていますか?
ご協力いただきありがとうございます。
- (void)addNewUser:(NSString *)username andDate:(NSDate *)date
{
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
NSString * urlString = [NSString stringWithFormat:@"http://www.myurl.com/url/insert.php"];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy HH:mm:ss"];
NSString *strDate = [dateFormatter stringFromDate:date];
NSString *paramDataString = [NSString stringWithFormat:@"username=%@&date=%@",[username stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding],
[strDate stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:[paramDataString dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]];
[NSURLConnection sendAsynchronousRequest:request
queue:[NSOperationQueue mainQueue]
completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
NSString *requestData = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
}];
}
サーバー側で私はこれを持っています:(PHP)
<?php
header("Content-type: text/html; charset=utf8");
$connection = mysql_connect("localhost","myusername","mypassword");
if(!$connection)
{
die("database connection failed:" . mysql_error());
}
$db = mysql_select_db("db_users",$connection);
if(!db)
{
die("database connection failed:" . mysql_error());
}
mysql_query("SET NAMES 'utf8'",$connection);
?>
<?php
$varGet1 = $_POST['username'];
$varGet2 = $_POST['date'];
if (!$varGet1) {
$message = "no username";
} else if (!$varGet2) {
$message = "no date";
} else {
$query = "INSERT INTO `Users` (username, date, first) VALUES('{$varGet1}','{$varGet2}','0')";
$query = mysql_query($query,$connection);
if($query) {
$message = "Added";
} else {
$message = "Error";
}
}
echo($message);
mysql_close($connection);
?>