在服务器上登录注册的实现

- (IBAction)loginPress:(id)sender {
    NSString *name = self.nameField.text;
    NSString *password = self.passwordField.text;
    NSString* pathName=[[NSUserDefaults standardUserDefaults] objectForKey:@"NAME"];
    if (![pathName isEqualToString:name]) {
        [[NSUserDefaults standardUserDefaults]removeObjectForKey:@"NAME"];
        [[NSUserDefaults standardUserDefaults]synchronize];
    }
    NSURL *url = [NSURL URLWithString:@"http://192.168.0.251:8080/service/userlogin"];
    ASIFormDataRequest * request = [[ASIFormDataRequest alloc]initWithURL:url];
    [request setPostValue:name forKey:@"user_name"];
    [request setPostValue:password forKey:@"user_password"];
    [request startSynchronous];
    NSError *error = [request error];
    if (!error) {
        NSString *responeString = [request responseString];
        NSLog(@"responseString = %@",responeString);
        NSRange range = [responeString rangeOfString:@"<status>"];
        NSString *str = [responeString substringWithRange:NSMakeRange(range.location+8, 1)];
        NSLog(@"str = %@",str);
        if ([str intValue] == 1) {
//          登录成功后的跳转页面的实现方法
            [self enterMainView];
            [[NSUserDefaults standardUserDefaults] setObject:name forKey:@"NAME"];
            [[NSUserDefaults standardUserDefaults]synchronize];
            NSLog(@"login success");
        }else {
            NSRange startRange = [responeString rangeOfString:@"<message>"];
            NSRange endRange = [responeString rangeOfString:@"</message>"];
            NSString *errorMessage = [responeString substringWithRange:NSMakeRange(startRange.location+9, endRange.location-startRange.location-9)];
            UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"登录失败" message:errorMessage delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
            [alert show];
            [alert release];
            return;
        }
    }else {
        UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"登录失败" message:@"请检查你的网络连接" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alertView show];
        [alertView release];
        return;
    }
}
- (IBAction)resignPress:(id)sender {
    if([self.nameField.text length]<6||[self.nameField.text length]>20){
        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"警告" message:@"长度必须大于6小于20" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
        [alert show];
        [alert release];
    }else if ([self.passwordField.text length]<6||[self.passwordField.text length]>20) {
        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"警告" message:@"长度必须大于6小于20" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
        [alert show];
        [alert release];
    }else {
        NSURL *url = [NSURL URLWithString:@"http://192.168.0.251:8080/service/registerUser"];
        ASIFormDataRequest *registerRequest = [[ASIFormDataRequest alloc]initWithURL:url];
        [registerRequest setPostValue:self.nameField.text forKey:@"user_name"];
        [registerRequest setPostValue:self.passwordField.text forKey:@"user_password"];
        [registerRequest startSynchronous];
        NSError *error = [registerRequest error];
        if (!error) {
            NSString *response = [registerRequest responseString];
            NSRange range = [response rangeOfString:@"<status>"];
            NSString *str = [response substringWithRange:NSMakeRange(range.location+8, 1)];
            if ([str intValue] == 1) {
                UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"注册成功" message:@"用户注册成功" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
                [alert show];
                [self.passwordField resignFirstResponder];
                [alert release];
            }else{
                NSRange startRange = [response rangeOfString:@"<message>"];
                NSRange endRange = [response rangeOfString:@"</message>"];
                NSString *errorMessage = [response substringWithRange:NSMakeRange(startRange.location+9, endRange.location-startRange.location-9)];
                UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"错误信息" message:errorMessage delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
                [alert show];
                [alert release];
            }
        }else {
            UIAlertView* alert=[[UIAlertView alloc]initWithTitle:@"请求发生错误" message:@"Error" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
            [alert show];
            [alert release];
            return;
        }
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
服务器注册登录使用python实现的步骤如下: 1. 导入相应的模块:首先需要导入Python的内置模块,如`socket`、`json`和`hashlib`等,以及第三方模块,如`flask`和`pymongo`等。 2. 创建服务器:通过`socket`模块创建服务器,并指定IP地址和端口号,以便客户端可以连接到服务器。 3. 定义注册登录功能:使用`flask`框架来定义注册登录的路由。当客户端发送注册请求时,服务器会接收到请求中的用户名和密码等信息,然后将信息加密后存储到数据库中。当客户端发送登录请求时,服务器会验证客户端发送的用户名和密码是否与数据库中的匹配,若匹配成功则返回登录成功的信息。 4. 数据库操作:使用`pymongo`模块连接到MongoDB数据库,并在注册登录功能中进行相应的数据库操作。当客户端发送注册请求时,服务器会将用户名和密码等信息插入到用户集合中。当客户端发送登录请求时,服务器会从数据库中查询用户名,并验证密码是否正确。 5. 结果返回与信息交互:根据客户端的请求,服务器会返回相应的结果,如注册成功、登录成功或错误信息等。服务器和客户端之间的信息交互使用`json`模块的序列化和反序列化功能来实现,以便在网络传输中传递数据。 6. 异常处理与安全性考虑:在实现过程中,需要对可能出现的异常进行处理,如数据库连接失败、重复注册等。同时,还要考虑安全性,如使用哈希函数对密码进行加密、使用SSL/TLS加密通信等。 总之,使用Python实现服务器注册登录功能主要涉及到搭建服务器、定义注册登录功能、与数据库交互、处理异常和保障安全性等方面。通过以上步骤,可以实现一个基本的服务器注册登录功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值