2016-12-29 142 views
0

我想问一下如何将数据从Xcode 8发布到PHP MySQL数据库中。现在我有textField用户名注册按钮触发功能帖子。如何将数据从Xcode 8发送到PHP MySQL数据库?

这是我的代码到目前为止。

registerVC.swift

import UIKit 
class RegisterVC: UIViewController { 
    @IBOutlet var usernametxt: UITextField! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
    } 

    @IBAction func register_click(_ sender: Any) { 

     if usernametxt.text!.isEmpty{ 
      usernametxt.attributedPlaceholder = NSAttributedString(string: "username", attributes: [NSForegroundColorAttributeName: UIColor.red]) 
     } 

     else{ 
      // Insert data into database 
     } 
    } 
} 

Register.php

<?php 
    $connect  = mysqli_connect("", "", "", ""); 
    global $connect; 
    if(isset($_POST['username'])) 
    { 
     $username  = $_POST['username']; 
     $insert   = "INSERT INTO table (username) 
            VALUES ('$username')"; 
     $run   = mysqli_query($connect,$insert); 

     $response = array(); 
     $response["success"] = true; 
     echo json_encode($response); 
    } 
?> 

回答

0

在你else添加sendData(usernametxt.text) 并在VC文件中添加以下功能

func sendData(username : String) { 
    var request = URLRequest(url: URL(string:"http://YOUR_WEBPAGE_ADDRESS")!) 
    request.httpMethod = "POST" 
    let postString = "name="+username 
    request.httpBody = postString.data(using: .utf8) 
    let task = URLSession.shared.dataTask(with: request) { data, response, error in 
    guard let data = data, error == nil else {            
     print("error=\(error)") 
     return 
    } 
    if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 {   // check for http errors 
     print("statusCode should be 200, but is \(httpStatus.statusCode)") 
     print("response = \(response)") 
    } 

    let responseString = String(data: data, encoding: .utf8) 
    print("responseString = \(responseString)") 
    } 
} 
task.resume() 
+0

“让任务”出错。它说永远不会使用不可变值'任务'的初始化 – Jamilah

+0

在末尾添加'task.resume()' –

+0

我认为它的工作原理,因为当我尝试构建它时没有错误出现。但是错误“ssl证书握手失败”。你有这个问题的解决方案吗?谢谢 。 .. – Jamilah

相关问题