0

このコードを使用して、投稿ログインをページに送信しています。

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 に文字列が含まれているかどうかを確認すると、ログインが成功し、ビューが切り替わります。次に、ビューをログインであるメインビューに戻す簡単なログアウトボタンを作成しました。テキストフィールドにランダムなデータを入力しても、ビューを切り替えることができます。

これを別の方法で説明してみましょう。上記のコードを使用すると、投稿データを Web ページに送信できます。応答の文字列をチェックして、ユーザーが正しい情報を入力し、ログインに成功したかどうかを判断します。次に、文字列が見つかった場合は、ビューをテーブル ビューに切り替えます。

次に、テーブルビューでログアウトボタンを作成しました。メインビューへのモーダルセグエだけです。次に、ランダムなデータを入力すると、アプリケーションを閉じなくても、情報が正しくない場合でも、ビューがテーブル ビューに切り替わります。フィールドに何を入力しても、次のビューに送られますが、それは間違った情報であり、なぜそうするのかわからないため、そうすべきではありません。

前もって感謝します。

4

0 に答える 0