我正在使用此代码将Post登录发送到页面:
NSString *kode = Password.text;
NSString *post = [NSString stringWithFormat:@"user=%@&pass=%@&login=login", bruger.text, kode];
NSData *postData= [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSMutableURLRequest *request = [NSMutableURLRequest new];
[request setURL:[NSURL URLWithString:@"http://itskp-odense.dk/portal.php"]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSURLResponse *response;
NSError *error;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *strdata=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
if ([strdata rangeOfString:@"Log ud"].location != NSNotFound){
//Hvis koden/bruger var fokert gør dette:
response = nil;
strdata = nil;
request = nil;
AppDelegate* appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
appDelegate.sharedString = bruger.text;
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"second"];
[self presentViewController:vc animated:YES completion:nil];
}else{
UIAlertView *fejl = [[UIAlertView alloc] initWithTitle:@"Fejl Opstået" message:@"Dit brugernavn eller kode var fokert" delegate:Nil cancelButtonTitle:@"Prøv igen" otherButtonTitles: nil];
[fejl show];
}
然后它使用此代码段将我发送到另一个视图:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"second"];
[self presentViewController:vc animated:YES completion:nil];
我检查strdata是否包含字符串,如果确实如此,则登录成功并切换视图。然后我做了一个简单的Log Out按钮,将视图切换回主视图,即登录。现在,如果我在文本字段中输入随机数据,它仍然允许我切换视图。
让我试着以另一种方式解释这一点。 上面的代码允许我将发布数据发送到网页,我检查字符串的响应,以确定该人是否输入了正确的信息并且成功登录。然后,如果找到该字符串,则将视图切换到表视图。
然后在表视图中我创建了一个注销按钮,它所做的只是对主视图的模态segue。然后,如果我输入随机数据而没有关闭应用程序,它仍然会将视图切换到表视图,即使信息不正确。无论我在字段中键入什么,它都会将我发送到下一个视图,它不应该是因为它是不正确的信息而且它不知道为什么会这样做。
提前致谢。