Это мой первый вопрос, и я надеюсь получить некоторую помощь:
Я использовал несколько методов (и пробовал с разными механизмами передачи http), чтобы выполнить действие post для сценария php в localhost безхорошие результаты.Я не знаю, что еще искать.Я застрял с этим по крайней мере 6 или 7 часов и, наконец, получил это:
Код цели C:
if (name != nil && message != nil) {
NSMutableString *postString = [NSMutableString stringWithString:TFPostURL];
[postString appendString:[NSString stringWithFormat:@"%@=%@",TFName,name]];
[postString appendString:[NSString stringWithFormat:@"%@=%@",TFMessage,message]];
[postString setString:[postString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:postString]];
[request setHTTPMethod:@"POST"];
postConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];
}
TFPostURL, TFName, TFMessage, имя и сообщение являются константамиопределено мной.
Я использую базу данных просто для проверки успешности передачи:
PHP Script
<?php
$username = "root";
$database = "db";
mysql_connect(localhost, $username);
@mysql_select_db($database) or die("Unable to find database");
$name = $_POST["name"];
$message = $_POST["message"];
$query = "INSERT INTO test VALUES ('', '$name', '$message')";
mysql_query($query) or die(mysql_error("error"));
mysql_close();
?>
Любые идеи о том, что будетне так?
Я всегда пробовал в localhost, все еще нужно попробовать это на другом Mac.Я собираюсь загрузить свой php-файл в общественное достояние и проверить, не находится ли он у меня на компьютере.
Редактировать :
I 'мы изменили действие PHP POST на GET, получив потрясающие результаты;ТЕПЕРЬ ЭТО РАБОТАЕТ!
<?php
$username = "root";
$database = "db";
mysql_connect(localhost, $username);
@mysql_select_db($database) or die("Unable to find database");
$name = $_GET["name"];
$message = $_GET["message"];
$query = "INSERT INTO test VALUES ('', '$name', '$message')";
mysql_query($query) or die(mysql_error("error"));
mysql_close();
?>