我正在开发一个iPhone应用程序,通过PHP API登录mysql数据库,在我检查用户名和密码的认证后,将重定向到主屏幕。
我需要将用户id传递到主屏幕以获取API和登录用户的其他数据的问题,那么我该如何做到这一点…如果有人在这个问题上有经验,请帮助…
这段代码是关于通过PHP API检查用户有效性后登录过程的:
if([serverOutput isEqualToString:@"OK"] ){
Home *home = [[[Home alloc] initWithNibName:@"Home" bundle:nil] autorelease];
home.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:home animated:YES];
[serverOutputLabel release];
} else {
UIAlertView *alertsuccess = [[UIAlertView alloc] initWithTitle:@"Invalid Login"
message:@"Username or Password Incorrect"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil, nil];
serverOutputLabel.text=serverOutput;
[alertsuccess show];
[alertsuccess release];
[serverOutputLabel release];
}
您可以将用户id存储在NSUSerDefautls
中,如果它是有效的,则保留它们保存在NSUserDefaults
中,否则如果它是无效的用户则清除它们。
所以下次当你想向服务器发送请求时,从NSUserDefaults
获取用户id并将其附加到api。
NSUserDefaults *defaults= [NSUserDefaults standardUserDefaults];
[defaults setObject:YOUR_USER_ID forKey:@"UserId"];
从default获取用户id。
NSString *userId = [defaults objectForKey:@"UserId"];
在用户注销和身份验证失败时清除默认值。
[defaults setObject:@"" forKey:@"UserId"];