2012-09-15 43 views
0

我对Xcode比较陌生,在尝试更复杂的事情之前尝试创建样式并创建一个非常基本的应用程序 - 所以我一直在学习。在Xcode中设置联系人表单

所以我有我的联系人窗体视图控制器的所有风格,我想弄清楚如何拉输入的数据,所以当用户点击提交,它将它发送到定义的电子邮件地址。我知道这需要一点我很满意的PHP服务器端,但这是Xcode的基本整理造成的一个问题 - 分配动作/代码等。

大量的教程解释了如何创建一个表单从头开始,但它将其实施到一个现有的项目中很棘手 - 我有一个视图控制器设置已经具有所需的界面。

我的视图控制器的屏幕截图是在这里:http://pixelproofdesign.co.uk/stackoverflow/View%20Controller%20Screenshot.png

你可以在这里找到项目文件:http://pixelproofdesign.co.uk/stackoverflow/Pixel%20Proof_NEW.zip

任何帮助将非常感激 - 它的驾驶我拐弯!

回答

0

完成后收集数据建立了的NSDictionary

id dict = @{@"formField1": formField1.stringValue; @"FormField2": formField2.stringValue}; 

=>你形成编码因此可以把它的HTML所得字典(category to get postData

id data = [dict postData]; 

=>然后转移它使用NSURLConnection

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"www.url.de"]]; 
[request setHTTPBody:data]; 
[request setHTTPMethod:@"POST"]; 
[request setValue:@"multipart/form-data, boundary=--------------BOUNDARY------------------" forHTTPHeaderField:@"Content-type"]; 

NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 

声明: 我在这里写了这个内联,并且从未测试过输入错误 这是一个非常基本的方法,当它变得更复杂时,我会考虑使用框架...例如。 AFNetwork

1

将表单的每个文本字段连接到.H文件中的插座。这将允许您在用户点击联系我们按钮时获取文本属性。

@property(weak,nonatomic)IBOutlet UITextField * contactName; @property(弱,非原子)IBOutlet UITextField * contactEmail; @property(弱,非原子)IBOutlet UITextField * contactPhone; @property(弱,非原子)IBOutlet UITextField * contactDescription;

将操作添加到该按钮并将文本字段连接到NSString中,例如,

NSString *message = [NSString stringWithFormat:@"name=%@&email=%@&phone=%@&description=%@", 
        self.contactName.text, 
        self.contactEmail.text, 
        self.contactPhone.text, 
        self.contactDescription.text]; 

然后,您可以将它作为POST发送,PHP会将每个字段作为变量。另请参见sending form data via HTTP POST

+0

谢谢!我已经将每个字段都调用到.h文件中的相关出口 - 但我在哪里放置NSString代码?我认为这将与“联系我们”按钮相关联。我在这里添加了viewcontroller和.h文件的当前屏幕截图:http://pixelproofdesign.co.uk/stackoverflow/updated%20h%20file.png –

+0

是的,将联系我们按钮连接到.M中的方法文件并将NSString定义放置在那里。然后,您将该字符串转换为NSData对象以传递给NSMutableRequest – SPA

相关问题