使用 PHP 在 Swift 中接收 POST

Receive POST in Swift using PHP

早上好,

我正在尝试使用 Swift 和调用的 .php 文件通过 PHP 文件发送变量 (id_post),但是 ¨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" to "http://website.com”。我不知道为什么它不能那样工作,但我 post 如果有人遇到同样奇怪的问题,我会提供解决方案。

此致,