我所做的当前程序允许用户将文本输入到按下提交按钮时将数据发送到服务器的文本框中。使用ObjectiveC中的多个视图控制器向服务器发送数据
但是,我有多个视图控制器,每个视图控制器都有自己的输入框供用户输入数据。例如:VC1有一个ID和密码文本框,VC2有一个年龄文本框,VC3有一个国籍文本框。
是否可以一次提交来自每个VC的所有数据?我只使用一个PHP文件来做到这一点吗?我很困惑这个概念,所以任何帮助都会很棒!
我的PHP代码:
<?php
$username = "root";
$database = "testdb";
mysql_connect('localhost', $username);
@mysql_select_db($database) or die ("Unable to find database");
$name = @$_GET["name"];
$message = @$_GET["message"];
$query = "INSERT INTO test VALUES ('', '$name', '$message')";
mysql_query($query) or die (mysql_error("error"));
mysql_close();
?>
和我的OBJç .H
#import <UIKit/UIKit.h>
#define kPostURL @"http://localhost/TESTCONNECT.php" //variable to use whenever
#define kName @"name"
#define kMessage @"message"
@interface FirstViewController : UIViewController{
IBOutlet UITextField *nameText;
IBOutlet UITextView *messageText;
NSURLConnection *postConnection;
}
-(IBAction)post:(id)sender;
@end
.M
#import "FirstViewController.h"
@interface FirstViewController()
@end
@implementation FirstViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
-(void) postMessage:(NSString*) message withName:(NSString *) name{
if(name !=nil && message !=nil){
NSMutableString *postString = [NSMutableString stringWithString:kPostURL];
[postString appendString:[NSString stringWithFormat:@"?%@=%@", kName, name]];
[postString appendString: [NSString stringWithFormat:@"&%@=%@", kMessage, message]];
[postString setString:[postString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSMutableURLRequest *request =[[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString: postString]];
[request setHTTPMethod:@"POST"];
postConnection =[[NSURLConnection alloc]initWithRequest:request delegate:self startImmediately:YES];
}
}
-(IBAction)post:(id)sender{
[self postMessage:messageText.text withName:nameText.text];
[messageText resignFirstResponder];
messageText.text=nil;
nameText.text=nil;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
@end
将数据从一个视图传递到另一个视图并仅使用最后一个视图提交它并不是一个坏主意。谢谢!我会试一下! – Pammuelo 2014-11-03 11:51:47
快速的问题,如果我这样做,我可以直接将它传递给最后一个视图?或者它是否需要通过每一个? – Pammuelo 2014-11-05 00:41:33