Search code examples
phpswiftalamofire

Need your help, IOS Swift Post data to Json Alamofire


I have a textlbabelfield in which I get data from my external database through JSon. Now, I would like to let my user to modify this field and post it to the database. But again, it doesn't work, the database did not change. Please could you review my code:

PHP Code:

       <?php
/* include db.config.php */
include_once("config.php");
// Get user id
$username = isset($_POST['username']) ? mysql_real_escape_string($_POST['username']) : “”;
$data = isset($_POST['signature']) ? mysql_real_escape_string($_POST['signature']) : “”;

// get user data
mysql_query('SET NAMES "utf8"');
$sql = mysql_query("UPDATE users SET signature = '$data' WHERE username='$username'");

die;
mysql_close($conn);
/* JSON Response */

?>

Alamofire post func:

    @IBAction func Signature(sender: UIButton) {
        var signaturesave1 = self.signature
        let prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()
        var username = prefs.valueForKey("USERNAME") as NSString
        //load and parse the JSON into an array
        Alamofire.request(.POST, "http://mywebsite/app/data/jsonsavesignature.php", parameters: ["username": username, "signature":signaturesave1]).responseJSON { (request, response, data, error) in
            if (error != nil)
            {
                // got an error in getting the data, need to handle it
                println("error calling GET usersdata")
                println(error)
            }
            else {

        self.performSegueWithIdentifier("signature_to_persoinfo", sender: self)
    }

        }
}

Solution

  • I got the answer, thanks to Karthikeyani for your help, I post the answer to share with everyone:

    My PHP Script:

     <?php
    
    /* include db.config.php */
    include_once("config.php");
    // Get user id
    $username = isset($_POST['username']) ? mysql_real_escape_string($_POST['username']) : “”;
    $data = isset($_POST['signature']) ? mysql_real_escape_string($_POST['signature']) : “”;
    
    // get user data
    mysql_query('SET NAMES "utf8"');
    $sql = mysql_query("UPDATE users SET signature = '$data' WHERE username='$username'");
    
    mysql_close($conn);
    /* JSON Response */
    
    ?>
    

    my Alamofire post request:

      @IBAction func Signature(sender: UIButton) {
            var signaturesave1 = self.signature.text
            let prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()
            var username = prefs.valueForKey("USERNAME") as NSString
            let parameters =
                ["username": username, "signature":signaturesave1]
    
            //load and parse the JSON into an array
            Alamofire.request(.POST, "http://mywebsite.com/app/data/jsonsavesignature.php", parameters: parameters).responseJSON { (request, response, data, error) in
    
                     self.performSegueWithIdentifier("signature_to_persoinfo", sender: self)
    
            }
        }