Я пытаюсь отправить данные из моего приложения для iOS в сценарий PHP. У меня есть Название, Описание и Город. Я хочу, чтобы он всегда сохранял каждую информацию, которую я отправлял, из моего приложения для iOS и всегда создавал новую при каждой отправке данных. Проблема в том, что когда я захожу в файл PHP в моем браузере, ничего не появляется. Название, описание и поле города всегда пустые. Но в моей консоли XCode я вижу, что он возвращает все правильно. Вот мой быстрый код.
func postToServerFunction() {
var url: NSURL = NSURL(string: "http://vittletest.netii.net/index.php")!
var request:NSMutableURLRequest = NSMutableURLRequest(URL:url)
request.HTTPMethod = "POST"let postString = "title=testing&description=hello&city=RanchoCordova"request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if error != nil {
println("error=\(error)")
return
}
println("response = \(response)")
let responseString = NSString(data: data, encoding: NSUTF8StringEncoding)
println("responseString = \(responseString)")
}
task.resume()
}
А вот и мой PHP-файл.
<?php
$something = "Some Info";
echo $something;
$title = $_POST['title'];
$description = $_POST['description'];
$city = $_POST['city'];
echo "<br />";
echo "Title: ". $title;
echo "<br />";
echo "Description: ". $description;
echo "<br />";
echo "City: ". $city;
?>
И вот мой вывод консоли на Xcode.
2015-01-03 10:05:50.861 VittleTest[616:28516] Warning: A long-running operation is being executed on the main thread.
Break on warnBlockingOperationOnMainThread() to debug.
response = <NSHTTPURLResponse: 0x7f9f5ae5e3f0> { URL: http://vittletest.netii.net/index.php } { status code: 200, headers {
Connection = close;
"Content-Length" = 309;
"Content-Type" = "text/html";
Date = "Sat, 03 Jan 2015 18:05:52 GMT";
Server = Apache;
"X-Powered-By" = "PHP/5.2.17";
} }
responseString = Optional(<html>
<head>
<title>PHP Test</title>
</head>
<body>
Some Info<br />Title: testing<br />Description: hello<br />City: RanchoCordova
</body>
</html>
<!-- Hosting24 Analytics Code -->
<script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
<!-- End Of Analytics Code -->
)
Я надеюсь, что дал вам достаточно информации, чтобы помочь мне, потому что я не могу понять это, так как я не лучший в PHP.
Если вы просматриваете скрипт через браузер, это будет отличаться, потому что это будет отдельный запрос браузера без пост-значений.
Если вы хотите сохранить данные, вам нужно будет найти способ сохранить эти данные, используя базу данных или, возможно, некоторые файлы.
Причина в том, что … от swift вы передаете почтовые параметры.
let postString = "title=testing&description=hello&city=RanchoCordova"
Но когда вы нажимаете ссылку в браузере напрямую, вы не публикуете эти параметры. Вот почему они пустые