0

そこで、機能する新しいコードで質問コードを修正し、他の人が支援できるように質問のタイトルも変更しました。

私の問題は、アプリケーション内で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);
?>
4

1 に答える 1

1

本当に悪いことは何もありません。あなたはobjective-cからingしGETながらあなたのphpからだけです。POSTに切り替えると$_POST、準備が整います。

于 2013-02-05T22:36:45.030 に答える