2012-05-27 2 views
0

Я пытаюсь создать приложение, которое связано с информацией пользователя на веб-сайте/db, который у меня уже есть. Таким образом, моя размещенная база данных mysql поддерживает имя пользователя/пароль и другую информацию и предпочтения пользователя. В моем приложении iphone мне нужно подключиться к этой пользовательской базе данных, чтобы получить информацию о пользователе и отправить дополнительную информацию в базу данных.iOS Учетная запись пользователя, связанная с веб-аккаунтом

По существу, это похоже на то, что вы найдете в приложении iphone instagram или приложении tumblr. Пользователь может войти в систему из приложения и получить доступ к существующему блогу/потоку фотографий и взаимодействовать с веб-сайтом через приложение.

Любое направление на пути вперед будет иметь огромную помощь, поскольку я не знаю, с чего начать.

ответ

0

Добро пожаловать в Stackoverflow.

Для достижения того, что вы пытаетесь сделать, вам нужно ПОЧТИТЬ имя пользователя + пароль из приложения в сценарий на вашем сервере и запустить SQL-запрос, чтобы вернуть данные обратно в приложение. Theres - простая в использовании библиотека ASIHTTPRequest (http://allseeing-i.com/ASIHTTPRequest/How-to-use), которая поможет вам в вашей сети. Пример ниже ..

Пример запроса:

NSURL *url = [NSURL URLWithString:@"http://yourscript.php"]; 
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; 
[request setPostValue:@"user1" forKey:@"username"]; 
[request setPostValue:@"pass1" forKey:@"password"]; 
[request setDelegate:self]; 
[request startAsynchronous]; 

Пример ответа:

- (void)requestFinished:(ASIHTTPRequest *)request { 
    NSString *responseString = [request responseString]; 
    NSLog(@"%@",responseString); 
} 

В вашем PHP скрипт:

$user = $_POST['username']; 
$pass = $_POST['password']; 

$sql="SELECT * FROM users where username='$user' and password='$pass'"; 

print_r($sql); //Sends response back to the App to requestFinished: method. 

Это только краткие примеры, конечно, вы должны учитывать mysql-инъекцию и проверку ошибок. Надеюсь это поможет.

+0

Вы действительно должны требовать https, а не http-соединения, а также хеш-пароль, а не отправлять его прямо. См.: Http://dustwell.com/how-to-handle-passwords.html – EricS

+0

Как я уже сказал, это просто «пример» того, как это сделать в простейшей базовой форме, чтобы дать «идею» о том, как обойтись без нее. – skram