2

ログインページを作成します(ユーザー名とパスワードとログインボタン)

正しいユーザーとパスワードが別のページに移動する場合、テキストフィールドのユーザー名とパスワードをいつ入力するか、間違っている場合はアラートを1つ入力する必要があります。

これは私のコードです:

#import "Detail.h"

@implementation ViewController
{
    NSString *name;
}
@synthesize Username,Password;

- (void)viewDidLoad
{
    [super viewDidLoad];
}


- (IBAction)Login:(id)sender {

    NSString *a = [[NSString alloc]initWithFormat:@"http://192.168.1.102/mamal/login.php?u=%@&p=%@",Username.text,Password.text];
    NSString *url = [[NSString alloc]initWithContentsOfURL:[NSURL URLWithString:a]];
    NSLog(@"%@",url);
    if ([url isEqualToString:@"0"]) //this is wrong user & password
    {
        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"ERROR" message:@"WRONG" delegate:nil cancelButtonTitle:@"Dissmis" otherButtonTitles: nil];
        [alert show];
    }
    else
    {
        name = @"Mohammad";
    }
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([name isEqualToString:@"Mohammad"] , [[segue identifier] isEqualToString:@"Segue"]) {
        Detail *det = segue.destinationViewController;
    }
}

しかし、うまくいきません!!! 次のページに進むには、正しいユーザーとパスワードのみが必要です

4

3 に答える 3

3

この操作を実行するには、トリガーなしのセグエを作成する必要があります。ストーリーボードからトリガーなしのセグエを作成し、ユーザー名とパスワードが正しいときに起動します。

トリガーのないセグエを作成するには、シーンの下部にあるシーン ドックに含まれるビュー コントローラー アイコンから、コントロールを押しながらセグエをドラッグします。通常どおり目的のシーンにドラッグし、セグエ タイプを選択します。セグエを選択し、インスペクターでセグエ識別子を選択します。

次に、[self performSegueWithIdentifier:@"Identifier" sender:nil]; メソッドを呼び出します。あなたの条件が真のとき

于 2013-04-11T11:44:22.950 に答える
0

セグエを使用したい場合は、名前を設定した行の後に実際にセグエを実行するための呼び出しが欠落していると思います

name = @"Mohammed"        
[self performSegueWithIdentifier:@"mySegue" sender:self]

「mySegue」であることは、ストーリーボードのセグエの識別子です。

そして、おそらく新しいView Controllerに名前を送信したいと思うでしょう。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"mySegue"]) {
        Detail *det = segue.destinationViewController;
        det.name = name;
    }
}
于 2013-04-11T10:18:55.080 に答える
0

ここで AuditViewController はセグエ名です

ストーリーボードでこのようなクラスを呼び出す必要があります

[self performSegueWithIdentifier:@"AuditViewController" sender:self];

編集

状態を確認

- (IBAction)Login:(id)sender {

    NSString *a = [[NSString alloc]initWithFormat:@"http://192.168.1.102/mamal/login.php?u=%@&p=%@",Username.text,Password.text];
    NSString *url = [[NSString alloc]initWithContentsOfURL:[NSURL URLWithString:a]];
    NSLog(@"%@",url);
    if ([url isEqualToString:@"0"]) //this is wrong user & password
    {
        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"ERROR" message:@"WRONG" delegate:nil cancelButtonTitle:@"Dissmis" otherButtonTitles: nil];
        [alert show];
    }
    else
    {
        name = @"Mohammad";
        if([name isEqualToString:@"Mohammad"])
            [self performSegueWithIdentifier:@"Segue" sender:self];
        //else
            //NSLog(@"Can not Login");
    }
}

prepareForSegueメソッド呼び出し

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"Segue"]) 
    {
        Detail *det = segue.destinationViewController;
    }
}
于 2013-04-11T10:18:58.267 に答える