私はこの問題をしばらく調査してきましたが、最近まで 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か月間私の側のとげでした. また、この質問が長くなってしまったことをお詫び申し上げます。明確化する必要がないように、すべての詳細を入力しようとしています。