【问题标题】:Xcode - Show database table value in text fieldXcode - 在文本字段中显示数据库表值
【发布时间】:2012-05-20 06:41:54
【问题描述】:

我正在运行一个 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)?那么登录用户的年龄会显示在应用顶部栏的文本标签中吗?

【问题讨论】:

    标签: mysql objective-c database xcode


    【解决方案1】:

    您可以做很多事情来提高安全性(不将密码作为 GET 请求的参数发送,它可能(将)最终出现在某个未受保护的日志上)、可靠性(您的脚本可能不是唯一的需要在本地主机上运行的东西)或该代码的响应能力(不进行同步调用)。

    但是,以该代码作为一个简约的起点,您可以配置您的 php 脚本以响应年龄值并将该值发送到文本字段/窗口标题/您想要的任何内容。 但是如何检查用户是否正确连接?您在 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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-27
      • 2011-06-18
      • 2017-11-14
      • 2014-04-08
      • 1970-01-01
      • 2021-06-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多