我正在运行一个phpmyadmin数据库,并创建了一个包含3列的表。用户名,密码和年龄。在Xcode中,我创建了一个登录应用程序,使用用户名和密码登录
NSString *strURL = [NSString stringWithformat:@"http://localhost/database/login.php?username=%@&password=%@", usernamefield.text, passwordtextfield.text];
NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];
if ([strResult isEqualToString:@"1"])
此代码工作正常! 那么在按下登录时是否可以在文本标签中显示数据库中的第三列(AGE)?所以登录用户的年龄将显示在应用程序顶部栏的文本标签中?
答案 0 :(得分:0)
你可以做很多事情来提高安全性(不要将密码作为GET请求的参数发送,它可能会(某些日志)在某个不受保护的地方结束),可靠性(你的脚本可能不是唯一的)需要在localhost上运行的东西)或该代码的响应性(不进行同步调用)。
但是,从该代码作为简约起点开始,您可以配置您的php脚本以使用年龄值进行响应,并将此值分配给textfield / window title /您想要的任何内容。 但那么如何检查用户是否正确连接?在localhost上运行的脚本可能会使用字符串以错误的身份验证进行响应。
例如:
NSString *strURL = [NSString stringWithformat:@"http://localhost/database/login.php?username=%@&password=%@", usernamefield.text, passwordtextfield.text];
NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];
if ([strResult isEqualToString:@"auth_error"]){
// do something
} else {
[window setTitle:strResult]
}
但这真的是一个开始。 之后,您可能有兴趣使用JSON来回复请求,然后使用NSJSONSerialization阅读它,使您的脚本更加可靠和RESTful。