Отправить целое число на сервер методом GET
Я уже некоторое время исследую эту проблему и до недавнего времени пытался использовать метод POST, когда понял, что метода GET будет достаточно для того, что мне нужно сделать. Моя цель: взять целое число из моего приложения и отправить его на php-сервер, чтобы сохранить его
Сейчас мне просто нужно отправить одно целое число, чтобы оно заработало, и чтобы у него была начальная точка для работы. Как только я начну раскручивать мяч и все начнет работать, я буду посылать максимум 20 целых за раз, поэтому я не думаю, что у меня возникнут проблемы с ограничением количества данных в методе GET.
Я работаю с другом над этим проектом прямо сейчас, потому что я не так свободно владею 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" и отображает это значение плюс один (чтобы настройки и полученные значения отличались от значения на сайте, чтобы я мог легче определить, работает ли мой код) Это должно работать правильно?
Далее, я считаю, что я еще не закончил часть проекта XCode, но у меня происходит успешное соединение, я просто не смог изменить значение переменной на php-сервере. В моем проекте у меня есть переменная NSInteger с именем "num", и ее значение, которое задается текстовым полем в моем приложении, - это то, которое я хочу отправить на сервер. Я также использую кнопку (называемую "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 ответ
Итак, получается, что мой код работал все время, просто когда я посмотрел таблицу данных, сгенерированную phpMyAdmin, я не заметил, что была страница 2 данных, потому что я так много тестировал ее в своем браузер. Целые числа были отправлены и успешно сохранены с кодом выше. Я прошу прощения за то, что опубликовал что-то вроде этого и выяснил, насколько глупо это было на самом деле, но если кто-то захочет дать мне какие-либо улучшения, я открыт для них. Спасибо, что нашли время, чтобы просмотреть этот вопрос.