2015-11-11 26 views
0

为什么我的参数vistor_namevistor_email不能通过PHP传输?为什么PHP代码不会响应SWIFT中的UITextField参数?

当收身看起来是这样的:

Name: 
Email: 

这是我的SWIFT代码:

@IBOutlet weak var nameField: UITextField! 
@IBOutlet weak var ageField: UITextField! 
@IBAction func sendButton(sender: AnyObject) { 
     sendToPhp() 
    } 

func sendToPhp() { 
     let session = NSURLSession.sharedSession() 
     let urlString = "http://sitename.com/fromswift.php" 
     let url = NSURL(string: urlString) 
     let request:NSMutableURLRequest = NSMutableURLRequest(URL: url!) 
     let parameter: NSString = NSString(string: "visitor_name=\(nameField.text), visitor_email=\(ageField.text)") 
     request.HTTPMethod = "POST" 
     request.HTTPBody = parameter.dataUsingEncoding(NSUTF8StringEncoding) 
     session.dataTaskWithRequest(request) { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in 
      print("done, error: \(error)") 
     } 

     print(bodyData) 

    } 

,这是我的PHP代码:

<?php 
$msg = 'Name: ' .$_POST['visitor_name'] ."\n" 
    .'Email: ' .$_POST['visitor_email'] ."\n" 
    mail('[email protected]', 'FeedBack from: me', $msg); 
?> 
+0

你可以试试$ msg = var_export($ _ POST,true); - 这将显示发布的变量(如果有的话)。如果它是空的,你可能需要添加:request.setValue(“application/x-www-form-urlencoded”,对于HTTPHeaderField:“Content-Type”) – Maltronic

+0

@Goat Master我试过了,它是空的。我添加了:'request.setValue(“application/x-www-form-urlencoded”,对于HTTPHeaderField:“Content-Type”)'仍然是一样的没有什么事 – hdjkshdak

+0

你的参数字符串需要在'UITextField'变量周围加上引号: 'visitor_name = \“\(nameField.text)\”' – RichAppz

回答

1

你忘了启动任务。我想这就是其中的原因。尝试如下。

   let task = session.dataTaskWithRequest(request, completionHandler: {(data, response ,error) in 
        if let response = response { 

        } 
       }) 
       task.resume() 

有关更多信息,请参阅link

希望它有帮助。问候。

+0

谢谢它的工作原理! @ PK20 – hdjkshdak

相关问题