Доброе утро,
Я пытаюсь отправить переменную (id_post) через файл PHP, используя Swift и файл .php, который он называется, но «id_post» пуст, потому что когда я печатаю значение «id_post», оно всегда пустое.
Вы знаете, почему это происходит? Я использовал ту же функцию в другом проекте с 1 месяца назад, и там работает, а здесь нет. Я что-то пропустил?
Также я проверил значение ¨postString¨, и оно всегда корректно (id_post = 64).
Вот мой код Swift:
func requestPost () {
let request = NSMutableURLRequest(URL: NSURL(string: "http://www.website.com/post.php")!)
request.HTTPMethod = "POST"let postString = "id_post="+id_post
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if error != nil {
return
}
let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)!
print("post: \(responseString)")
self.posts = self.parseJsonData(data!)
// Reload table view
dispatch_async(dispatch_get_main_queue(), {
self.tableView.reloadData()
})
}
task.resume()
}
Вот мой PHP-код:
$dbhost="localhost";
$dbusuario="dbuser";
$dbpassword="dbpassword";
$db="db";
$conexion = mysql_connect($dbhost, $dbusuario, $dbpassword);
mysql_select_db($db, $conexion);
mysql_query("SET NAMES 'utf8'");
$id_post=$_POST['id_post'];
$return_arr = array();
$fetch = mysql_query("SELECT * FROM posts WHERE id=$id_post");
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC))
{
$row_array['id'] = $row['id'];
$row_array['image'] = $row['image'];
array_push($return_arr,$row_array);
}
echo '{"post": '.json_encode($return_arr).'}';
Заранее спасибо,
С уважением.
Единственное, что мне пришлось изменить, это было «http://www.website.com«до»http://website.com«Я не знаю, почему это не сработало, но я выкладываю решение, если у кого-то есть такая же странная проблема.
С Уважением,
Других решений пока нет …