Advertisement
Guest User

Untitled

a guest
Jan 20th, 2017
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 5.85 KB | None | 0 0
  1. @IBAction func btnSignIn(_ sender: AnyObject) {
  2.        
  3.         //deklarasi variable
  4.         let username:NSString = etUsername.text! as NSString
  5.         let password:NSString = etPass.text! as NSString
  6.         //pengecekan apabila nilai nya kosong
  7.         if ( username.isEqual(to: "") || password.isEqual(to: "") ) {
  8.            
  9.             let alertView:UIAlertView = UIAlertView()
  10.             alertView.title = "Sign in Failed!"
  11.             alertView.message = "Please enter Username and Password"
  12.             alertView.delegate = self
  13.             alertView.addButton(withTitle: "OK")
  14.             alertView.show()
  15.            
  16.         } else {
  17.            
  18.             do {
  19.                 let post:NSString = "username=\(username)&password=\(password)" as NSString
  20.                
  21.                 NSLog("PostData: %@",post);
  22.                
  23. //                let url:NSURL = NSURL(string:"http://192.168.2.30/JsonLogin/jsonlogin2.php")!
  24.                
  25.                 let url:URL = config.url as URL
  26.                
  27.                 let postData:Data = post.data(using: String.Encoding.ascii.rawValue)!
  28.                
  29.                 let postLength:NSString = String( postData.count ) as NSString
  30.                
  31.                 let request:NSMutableURLRequest = NSMutableURLRequest(url: url)
  32.                 request.httpMethod = "POST"
  33.                 request.httpBody = postData
  34.                 request.setValue(postLength as String, forHTTPHeaderField: "Content-Length")
  35.                 request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
  36.                 request.setValue("application/json", forHTTPHeaderField: "Accept")
  37.                
  38.                
  39.                 var reponseError: NSError?
  40.                 var response: URLResponse?
  41.                
  42.                 var urlData: Data?
  43.                 do {
  44.                     urlData = try NSURLConnection.sendSynchronousRequest(request as URLRequest, returning:&response)
  45.                 } catch let error as NSError {
  46.                     reponseError = error
  47.                     urlData = nil
  48.                 }
  49.                
  50.                 if ( urlData != nil ) {
  51.                     let res = response as! HTTPURLResponse!;
  52.                    
  53. //                    NSLog("Response code: %ld", res?.statusCode);
  54. //                    
  55.                     if ((res?.statusCode)! >= 200 && (res?.statusCode)! < 300)
  56.                     {
  57.                         let responseData:NSString  = NSString(data:urlData!, encoding:String.Encoding.utf8.rawValue)!
  58.                        
  59.                         NSLog("Response ==> %@", responseData);
  60.                        
  61.                         //var error: NSError?
  62.                        
  63.                         let jsonData:NSDictionary = try JSONSerialization.jsonObject(with: urlData!, options:JSONSerialization.ReadingOptions.mutableContainers ) as! NSDictionary
  64.                        
  65.                        
  66.                         let success:NSInteger = jsonData.value(forKey: "success") as! NSInteger
  67.                        
  68.                         //[jsonData[@"success"] integerValue];
  69.                        
  70.                         NSLog("Success: %ld", success);
  71.                        
  72.                         if(success == 1)
  73.                         {
  74.                             NSLog("Login SUCCESS");
  75.                            
  76.                             let prefs:UserDefaults = UserDefaults.standard
  77.                             prefs.set(username, forKey: "USERNAME")
  78.                             prefs.set(1, forKey: "ISLOGGEDIN")
  79.                             prefs.synchronize()
  80.                            
  81.                             self.dismiss(animated: true, completion: nil)
  82.                         } else {
  83.                             var error_msg:NSString
  84.                            
  85.                             if jsonData["error_message"] as? NSString != nil {
  86.                                 error_msg = jsonData["error_message"] as! NSString
  87.                             } else {
  88.                                 error_msg = "Unknown Error"
  89.                             }
  90.                             let alertView:UIAlertView = UIAlertView()
  91.                             alertView.title = "Sign in Failed!"
  92.                             alertView.message = error_msg as String
  93.                             alertView.delegate = self
  94.                             alertView.addButton(withTitle: "OK")
  95.                             alertView.show()
  96.                            
  97.                         }
  98.                        
  99.                     } else {
  100.                         let alertView:UIAlertView = UIAlertView()
  101.                         alertView.title = "Sign in Failed!"
  102.                         alertView.message = "Connection Failed"
  103.                         alertView.delegate = self
  104.                         alertView.addButton(withTitle: "OK")
  105.                         alertView.show()
  106.                     }
  107.                 } else {
  108.                     let alertView:UIAlertView = UIAlertView()
  109.                     alertView.title = "Sign in Failed!"
  110.                     alertView.message = "Connection Failure"
  111.                     if let error = reponseError {
  112.                         alertView.message = (error.localizedDescription)
  113.                     }
  114.                     alertView.delegate = self
  115.                     alertView.addButton(withTitle: "OK")
  116.                     alertView.show()
  117.                 }
  118.             } catch {
  119.                 let alertView:UIAlertView = UIAlertView()
  120.                 alertView.title = "Sign in Failed!"
  121.                 alertView.message = "Server Error"
  122.                 alertView.delegate = self
  123.                 alertView.addButton(withTitle: "OK")
  124.                 alertView.show()
  125.             }
  126.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement