0

PHPファイルにリンクされた次のコードがあります。目的は、いくつかの文字列を投稿してPHPファイルで取得することです。すべてが正常に機能していますが、コードに問題があります。以下を参照してください。

iOS アプリケーション コード

    NSString *urlString = @"http://www.myurl.com/path/ios.st.addquestion.php?";
    NSURL *uploadURL = [NSURL URLWithString:urlString];
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:uploadURL];

    [request setPostValue:askerUsername forKey:@"username"];
    [request setPostValue:@"1" forKey:@"questiontype"];
    [request setPostValue:title forKey:@"title"];
    [request setPostValue:hasAditional forKey:@"hasaditional"];
    [request setPostValue:aditional forKey:@"aditional"];
    [request setPostValue:hasLocation forKey:@"haslocation"];
    [request setPostValue:location forKey:@"location"];
    [request setPostValue:latitude forKey:@"latitude"];
    [request setPostValue:longitude forKey:@"longitude"];
    [request setPostValue:category forKey:@"category"];
    [request setPostValue:hasImage forKey:@"hasimage"];
    [request startAsynchronous];

PHPファイル

    $questiontype = mysql_real_escape_string($_GET['questiontype']);

    $username_PRO = mysql_real_escape_string($_GET['username']);

    $title_PRO = mysql_real_escape_string($_GET['title']);
    $hasAditional = mysql_real_escape_string($_GET['hasaditional']);
    $aditional_PRO = mysql_real_escape_string($_GET['aditional']);

    $hasLocation = mysql_real_escape_string($_GET['haslocation']);
    $location_PRO = mysql_real_escape_string($_GET['location']);
    $latitude_PRO = mysql_real_escape_string($_GET['latitude']);
    $longitude_PRO = mysql_real_escape_string($_GET['longitude']);

    $category = mysql_real_escape_string($_GET['category']);

    echo "$username_PRO";

アプリケーションを実行し、文字列を PHP ファイルに POST すると、何も起こりません。PHP が null 値を受け取ったようです。コードの何が問題なのかわかりません。手順は次のようなものです。

Application => ASIFormDataRequest(Post values) => PHP ファイルがリクエストを受け取り、MYSQL データベースに文字列を挿入します (問題はここにあります)。

Web および ASI Web サイトで既に検索しましたが、何も機能していないようです。

4

2 に答える 2

2

コードは正しいと思いますが、PHP に POST し、php で $_GET を使用することが問題になる可能性があります。

$_POST を使用して POST 値を取得するか、$_REQUEST をダンプして、php に送信した内容を確認してください。

于 2012-12-09T08:16:11.177 に答える
1

変数を探している を使用setPostValueしています。すべての変数をに変更するか、値を...の値として送信します。PHP-scriptGETPHPcode$username_PRO = mysql_real_escape_string($_POST['username'])GEThttp://url?name=value&name2=value2

于 2012-12-09T08:17:37.510 に答える