0

i'm using Swift 3.0 and I want to post data into mysql database from X Code 8.

I can print the value and remove Optional("") in x code, but when it send into mysql database, the Optional("") String still added.

I believe that i'm having a problem on this line of code. My question is how to post the value without Optional("") ?

var d1: String!
var d2: String!
d1 = _data1.text
d2 = _data2.text

let paramToSend     = "data1=\(d1)&data2=\(d2)"

And here is my ViewController.swift

import UIKit
class ViewController: UIViewController {
    @IBOutlet var _data1: UITextField!
    @IBOutlet var _data2: UITextField!
    @IBOutlet var _send_button: UIButton!
    var d1: String!
    var d2: String!
    override func viewDidLoad() {
        super.viewDidLoad(
    }
    @IBAction func sendData(_ sender: Any) {
        d1 = _data1.text
        d2 = _data2.text
        if (d1 == "" || d2 == "") {
            return
        }
        else {
            let url             = URL(string: "http://localhost/send.php")
            let session         = URLSession.shared
            let request         = NSMutableURLRequest(url: url! as URL)
            request.httpMethod  = "POST"

            let paramToSend     = "data1=\(d1)&data2=\(d2)"
            request.httpBody    = paramToSend.data(using: String.Encoding.utf8)

            let task = session.dataTask(with: request as URLRequest) { (data, response, error) in
                guard let _:NSData = data as NSData?, let _:URLResponse = response, error == nil else {
                    print("Error")
                    return
                }
                if let dataString = NSString(data: data!, encoding: String.Encoding.utf8.rawValue) {
                    print(dataString)
                    let newdata1: String? = d1
                    let newdata2: String? = d2
                    print(newdata1!)
                    print(newdata2!)
                }
            }
            task.resume()
        }
    }
}
AlotJai
  • 147
  • 4
  • 18

1 Answers1

3

First of all, don't declare your variables as optionals if possible:

var d1: String = ""
var d2: String = ""

d1 = _data1.text ?? ""
d2 = _data2.text ?? ""
Sulthan
  • 128,090
  • 22
  • 218
  • 270