0

私はこの問題をしばらく調査してきましたが、最近まで POST メソッドを使用しようとしていましたが、必要なことには GET メソッドで十分であることがわかりました。私の目的: アプリから整数を取得し、それを PHP サーバーに送信して保存します

今のところ、整数を 1 つ送信するだけで機能し、作業の開始点が得られます。調子に乗り始めたら、一度に最大20個の整数を送信することになるので、GETメソッドのデータ量制限で問題が発生することはないと思います。

私はPHPに精通していないため、現在このプロジェクトで友人と協力していますが、PHPに何度かさらされているため、関連する用語のほとんどを知っている必要があります. とにかく、これは私の友人が私のために書いた私のphpコードです...

<?php
// A sample php file to demo passing parameters and getting POST data.
// This simply appends the specified value to the end of the 'sample' table.
// Call it like this: sample.php?val=4
//    where 4 is the value you want to append to the table
// The code returns whether or not the sql query was performed with success or not.
//    If successful, a boolean true (or 1) is returned.
//    If not, then an error message is returned with the sql error.

   include 'dbConnect.php';

   $val = $_GET["val"];  // value to set to

   $sql=
   "INSERT INTO sample (`test`)
   VALUES ('" . $val . "')
   ";

   $result = mysql_query($sql,$con);
   if(!$result){
      die('Error: ' . mysql_error());
    }

   echo $val+1;

   mysql_close($con);

?>

このコードは、変数「val」の送信された値を取得し、その値に 1 を加えた値をエコーし​​ます (設定値と取得値がサイトとは異なるため、コードが機能するかどうかをより簡単に判断できます)。

次に、プロジェクトの Xcode 部分はまだ完成していないと思いますが、接続は成功しています。php サーバーの変数の値を変更できていません。私のプロジェクトでは、「num」という名前の NSInteger 変数があり、その値はアプリのテキスト フィールドで設定され、サーバーに送信したいものです。また、ボタン (「postPressed」と呼ばれる) を使用して、送信プロセスの機能を開始しています。だからここに私のコードがあります...

NSURLRequest *request;
NSURLConnection *connection;
NSURL *url;

NSInteger num;



- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
    }
    return self;
}


- (IBAction)valueChange:(id)sender {
    num = [_valueTF.text intValue];
}


- (IBAction)postPressed:(id)sender {
    url = [NSURL URLWithString: [NSString stringWithFormat: @"http://jrl.teamdriven.us/source/scripts/2013/sample.php?val=%d", num]];
    request = [NSURLRequest requestWithURL:url];
    if (request) {
        connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
        _returnLbl.text = @"success!";
    }

}

私のreturnLblは「成功」に変わるので、接続が機能することはわかっていますが、変数部分の設定に関するコードが欠落していると思います。私を助けてください、これは約1か月間私の側のとげでした. また、この質問が長くなってしまったことをお詫び申し上げます。明確化する必要がないように、すべての詳細を入力しようとしています。

4

1 に答える 1

0

つまり、私のコードはずっと機能していたことがわかりました。phpMyAdmin によって生成されたデータ テーブルを調べたときに、データのページ 2 があることに気付かなかったのです。ブラウザ。整数は上記のコードで送信され、正常に保存されました。このようなものを投稿して、それが本当にどれほどばかげた間違いであったかを調べたことをお詫びしますが、誰かが私に何らかの改善をしたい場合は、私は彼らに門戸を開いています. この質問をご覧いただきありがとうございます。

于 2013-09-22T06:06:41.010 に答える