Делаю вход в приложение по логину и паролю, данные отправляются на сайт и там GET запросом сравниваются. Если есть, то он перекидывает на другой view, иначе показывает всплывающее окно с ошибкой.
Делал может и коряво, но работает. Вот только проблема в том, что передать данные о юзере который только что авторизовался не получается, вот код:
- Хедер файл:
- @property (strong, nonatomic) IBOutlet UITextField *userEmail;
- @property (strong, nonatomic) IBOutlet UITextField *userPassword;
- @property UIAlertView *errorEmptyField;
- @property (nonatomic, retain) NSMutableData *jsonData;
- - (IBAction)loginAction:(id)sender;
- Имплементейшн файл:
- // Click on the Login Button Action
- - (IBAction)loginAction:(id)sender {
- NSString *email = self.userEmail.text;
- NSString *password = self.userPassword.text;
- NSString *strURL = [NSString stringWithFormat:@"http://АДРЕС_САЙТА/api/users/index.php?status=authorization&login=%@&password=%@&app_secret_key=***", email, password];
- NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
- NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];
- // создаем объект с JSON-парсером
- SBJsonParser *jsonParser = [[SBJsonParser alloc] init];
- // Парсим строку данных result в объект класса NSArray (массив)
- NSArray *dataObject = [jsonParser objectWithString:strResult];
- NSString *status = [[dataObject valueForKey:@"success"] description];
- if([status isEqualToString:@"1"]){
- [self performSegueWithIdentifier:@"successLogining" sender:sender];
- }if([email isEqual:@""] && [password isEqual:@""]) {
- errorEmptyField = [[UIAlertView alloc] initWithTitle:@"Error"
- message:@"You didn't write anything. Please text your email and password in textfields."
- delegate:nil
- cancelButtonTitle:@"Try again"
- otherButtonTitles:nil];
- [errorEmptyField show];
- } if([status isEqualToString:@"0"]) {
- errorEmptyField = [[UIAlertView alloc] initWithTitle:@"Invalid"
- message:@"Invalid email or password"
- delegate:nil
- cancelButtonTitle:@"Try again"
- otherButtonTitles:nil];
- [errorEmptyField show];
- }
- }
Использую СТОРИБОАРДЫ, и использовать метод ПРИПЭЙР ФО СЕГУЕ не получается)
как туда данные передать пока не в курсе, думаю)
Пишу с мака, чтобы копировать код, а английский зараза переключаться отказывается)