1

「posttext」アプリを作成していて、名前と本文のフィールドでデータベースを更新しようとしています。obj-cコードは次のようになります。

- (IBAction)post:(id)sender
{

    NSLog(@"%@", name);
    NSLog(@"%@", body); 
    // create string contains url address for php file, the file name is post.php, it receives parameter :name
    NSString *strURL = [NSString stringWithFormat:@"http://www.mywebsite.com/post.php?name=%@&body=%@",name, body];

    // to execute php code
    NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];

    // to receive the returend value
    NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];

    NSLog(@"%@", strResult);
}

そして、phpコードは次のようになります。

<?php

if (isset($_REQUEST['name']) && isset($_REQUEST['body']) && strlen($_REQUEST['name']) > 0 && strlen($_REQUEST['body']) > 0) {
    //get data
    $title = $_REQUEST['name'];
    $body = $_REQUEST['body'];

    mysql_connect("MyServer","username","password") or die(mysql_error());
    mysql_select_db("Database_Name") or die(mysql_error());

    $date = date("Y-m-d");

    //insert data
    $insert = mysql_query("INSERT INTO news VALUES ('','".mysql_real_escape_string($title)."','".mysql_real_escape_string($body)."','".mysql_real_escape_string($date)."')") or die(mysql_error());

    die("Your text has been posted!");
} 


?>

アプリを介して投稿する場合もありますが、名前として(null)、本文としてnullを投稿するだけです。しかし、ほとんどの場合、それはまったく機能しません。ログには次のように書かれています。

    2012-06-26 16:54:49.893 AppName[12444:707] 
<UITextField: 0x17a390; frame = (63 76; 194 31); text = 'MyName'; 
clipsToBounds = YES; opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x17a4c0>>
4

1 に答える 1

1

ここで大げさな推測をしますが、UITextField オブジェクトへのポインターはnameありますか? bodyログ出力に基づいて、そうである可能性があると思います。その場合は、テキスト フィールドから実際の NSString 値を使用[name text]または取得する必要があります。name.text

于 2012-06-26T16:02:47.747 に答える