iOS+PHP 등록 로그 인 시스템 iOS 부분(아래)

7429 단어 ios책.로그 인
이 어상편'iOS+PHP 등록 로그 인 시스템 PHP 부분(상)'학습
3.iOS 부분
지난번 에 데이터베이스 부분 과 PHP 부분 을 다 썼 는데 이번 에는 iOS 부분 을 완성 하 겠 습 니 다.
먼저 story board 에서 미 친 듯 이 끌 어 다음 과 같은 그림 으로 만 듭 니 다.
먼저 text Field 에 사용자 이름과 비밀 번 호 를 입력 하여 나중에 디 버 깅 할 수 있 습 니 다.

3.1 로그 인 부분 코드
새 UIViewController 이름 을 registViewController 로 만 듭 니 다.
ViewController.h 에서 importregistViewController
#import "registViewController.h" 
그리고 로그 인 인터페이스 에 있 는 컨트롤 을 설정 하여 사용자 이름 을 쓰 는 컨트롤 이름 을 txtuser 로 설정 하고 암호 의 컨트롤 이름 을 txtpwd 로 설정 합 니 다.단 추 를 누 르 는 방법 이름 은?
LoginClick,등록 버튼 의 방법 은 registButton 입 니 다.
그리고 ViewController.m 의 코드 를 쓰기 시 작 했 습 니 다.

// 
// ViewController.m 
// iosLogin 
// 
// Created by    on 16/2/25. 
// Copyright :emoji: 2016  CaoHan. All rights reserved. 
// 
 
#import "ViewController.h" 
 
@interface ViewController () 
@property (weak, nonatomic) IBOutlet UITextField *txtUser; 
@property (weak, nonatomic) IBOutlet UITextField *txtPwd; 
 
@end 
 
@implementation ViewController 
 
- (void)viewDidLoad { 
  [super viewDidLoad]; 
  // Do any additional setup after loading the view, typically from a nib. 
} 
 
- (void)didReceiveMemoryWarning { 
  [super didReceiveMemoryWarning]; 
  // Dispose of any resources that can be recreated. 
} 
- (IBAction)LoginClick:(id)sender { 
  //      
  NSString *userName = [_txtUser.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
  NSString *userPwd = [_txtPwd.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
   
  NSDictionary *jsonDic = [self getJsonData:userName userpwd:userPwd]; 
  NSString* loginFlag = [jsonDic objectForKey:@"loginFlag"]; 
  NSLog(@"%@",loginFlag); 
   
  [self aletrInfo:loginFlag]; 
} 
- (IBAction)registButton:(id)sender { 
  UIStoryboard *storboard = self.storyboard; 
  registViewController *vc2 = [storboard instantiateViewControllerWithIdentifier:@"vc2"]; 
  [self presentViewController:vc2 animated:YES completion:nil]; 
} 
//    PHP   JSON 
- (NSDictionary *)getJsonData:(NSString *)user_name userpwd:(NSString *)user_pwd { 
  NSError *error; 
  NSString *urlString = [NSString stringWithFormat:@"http://192.168.1.106/iosLogin/index.php?action=login&user_name=%@&user_pwd=%@",user_name,user_pwd]; 
  //    NSURL   
  NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]]; 
  //    url    NSData    
  NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
  //IOS5     NSJSONSerialization response            
  NSDictionary *jsonDic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:&error]; 
  NSLog(@"       %@",jsonDic); 
  return jsonDic; 
} 
//     
- (void)aletrInfo:(NSString *)loginFlag{ 
  UIAlertView *alert = [[UIAlertView alloc]init]; 
  [alert setTitle:@"  "]; [alert setDelegate:nil]; 
  [alert addButtonWithTitle:@"  "]; 
   
  if ([loginFlag isEqual: @"0"]) { 
    [alert setMessage:@"       "]; 
  } 
  if ([loginFlag isEqual:@"1"]) { 
    [alert setMessage:@"    "]; 
  } 
  [alert show]; 
} 
 
@end 
등록 버튼 이 화면 을 뛰 어 넘 기 전에 stroyboard 의 등록 인터페이스의 stroyboard ID 를 vc2 로 설정 해 야 점프 를 할 수 있 습 니 다.
NSString *urlString = [NSString stringWithFormat:@"http://192.168.1.106/iosLogin/index.php?action=login&user_name=%@&user_pwd=%@",user_name,user_pwd];  
그 중에서 이곳 의 192.168.1.106 은 localhost 를 쓸 수도 있 고 자신의 ip 주 소 를 쓸 수도 있다.
여기까지 쓰 면 먼저 디 버 깅 을 해서 로그 인 할 수 있 습 니 다.뒤의 등록 사용자 코드 도 이곳 과 차이 가 많 지 않다.
3.2 등록 인터페이스 코드
먼저 registView Congroller.h 에서 import View Controller.h
#import "ViewController.h" 
다음은 registView Controller.m 의 코드 입 니 다.

// 
// registViewController.m 
// iosLogin 
// 
// Created by    on 16/2/27. 
// Copyright 2016  CaoHan. All rights reserved. 
// 
 
#import "registViewController.h" 
 
@interface registViewController () 
@property (weak, nonatomic) IBOutlet UITextField *txtUser; 
@property (weak, nonatomic) IBOutlet UITextField *txtPwd; 
 
@end 
 
@implementation registViewController 
 
- (void)viewDidLoad { 
  [super viewDidLoad]; 
  // Do any additional setup after loading the view. 
} 
 
- (void)didReceiveMemoryWarning { 
  [super didReceiveMemoryWarning]; 
  // Dispose of any resources that can be recreated. 
} 
//        
- (IBAction)registButton:(id)sender { 
  NSString *userName = [_txtUser.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
  NSString *userPwd = [_txtPwd.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
   
  NSDictionary *jsonDic = [self getJsonData:userName userpwd:userPwd]; 
  NSString* registFlag = [jsonDic objectForKey:@"registFlag"]; 
  NSLog(@"%@",registFlag); 
   
  [self aletrInfo:registFlag]; 
   
} 
//        
- (IBAction)returnButton:(id)sender { 
  [self dismissModalViewControllerAnimated:YES]; 
} 
 
- (NSDictionary *)getJsonData:(NSString *)user_name userpwd:(NSString *)user_pwd { 
  NSError *error; 
  NSString *urlString = [NSString stringWithFormat:@"http://192.168.1.106/iosLogin/index.php?action=regist&user_name=%@&user_pwd=%@",user_name,user_pwd]; 
  //    NSURL   
  NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]]; 
  //    url    NSData    
  NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
  //IOS5     NSJSONSerialization response            
  NSDictionary *jsonDic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:&error]; 
  NSLog(@"       %@",jsonDic); 
  return jsonDic; 
} 
 
- (void)aletrInfo:(NSString *)registFlag{ 
  UIAlertView *alert = [[UIAlertView alloc]init]; 
  [alert setTitle:@"  "]; [alert setDelegate:nil]; 
  [alert addButtonWithTitle:@"  "]; 
   
  if ([registFlag isEqual: @"0"]) { 
    [alert setMessage:@"      "]; 
  } 
  if ([registFlag isEqual:@"1"]) { 
    [alert setMessage:@"    "]; 
  } 
  [alert show]; 
} 
 
@end 
여기까지 모든 코드 를 다 썼 습 니 다.저 는 초보 입 니 다.부족 하거나 코드 오류 가 있 으 면 지적 해 주 십시오.독자 여러분 감사합니다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기