0

私はphpで書いた連絡先フォームを持っていて、その内容をデータベースに投稿しています。

名前、テキスト、場所、連絡先の 4 つのラベル。

私のPHPコードは次のようになります。

<?php header("Location: feed.php"); ?>
<?php 

define ( 'DB_NAME','database_name');
define ( 'DB_USER','user');
define ( 'DB_PASSWORD','root');
define ( 'DB_HOST','localhost');

$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);

if (!link) {
die('Could not connect: ' .mysql_error());
}

$db_selected = mysql_select_db(DB_NAME, $link);

if (!$db_selected) {
die('Can\'t use ' . DB_NAME . ': ' . mysql_error());
}

$value1 = $_REQUEST['name'];
$value2 = $_REQUEST['text'];
$value3 = $_REQUEST['place'];
$value4 = $_REQUEST['contact'];

$sql = "INSERT INTO content (`name`, `text`, `place`, `contact`) VALUES ('$value1', '$value2', '$value3', '$value4')";


 if (!mysql_query($sql)) {
die('Error: ' . mysql_error());
}
    echo "You've just posted your text!";
mysql_close();
?>

私が今していることは、Xcode に 4 つの UITextFields があることです。

IBOutlet UITextField *who;
IBOutlet UITextField *what;
IBOutlet UITextField *where;
IBOutlet UITextField *contact;

そして、このコードを使用して、Xcode のフォームから投稿しようとしました。

- (IBAction)post:(id)sender
{
    NSLog(@"%@", who);
    NSLog(@"%@", what);
    NSLog(@"%@", where);
    NSLog(@"%@", contact);
    // create string contains url address for php file, the file name is post.php, it receives parameter :name
    NSString *strURL = [NSString stringWithFormat:@"http://website.com/post.php?who=%@&what=%@&where=%@&contact=%@",who, what, where, contact];

    // 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);
}

しかし、NSLog の出力は次のとおりです。

<UITextField: 0x745f230; frame = (66 277; 187 30); text = 'fsdmfsfsf'; clipsToBounds = YES; opaque = NO; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x7185a00>; layer = <CALayer: 0x745f3d0>>

これを説明できる人はいますか?

4

1 に答える 1

0

あなたが何をしようとしているのか理解できれば、あなたの 2 つのコード ブロックは意味をなさないようです。PHP から次の変数を取得しようとしています。

  • 名前
  • 文章
  • 場所
  • コンタクト

しかし、XCode の例では、4 つの異なる変数を URL に投稿しています。

  • どこ
  • コンタクト

したがって、最初に行うことは、どちらか一方を修正することです。私はPHPに行くので、あなたがやりたいと思うことは次のとおりです(データベースで列名が正しいと仮定します):

 $value1 = $_GET['who'];
 $value2 = $_GET['what'];
 $value3 = $_GET['where'];
 $value4 = $_GET['contact'];

 $sql = "INSERT INTO content (`name`, `text`, `place`, `contact`) VALUES ('$value1',       '$value2', '$value3', '$value4')";

したがって、少なくとも今では、XCode/PHP は理にかなっています (少なくとも私にとっては、これは私が知っているすべての点で完全に間違っている可能性があります)。

編集: PHP が使用している mysql_* 関数が減価償却されていることに気付きました。 PDOまたはMySQLiを使用する必要があります。

于 2013-03-15T13:27:58.060 に答える