Erstellen Sie einen einfachen Webdienst, der die Parameter übernimmt, die Sie übergeben müssen, und fügt sie zu einer Datenbank hinzu. Hier ist ein einfaches Beispiel mit PHP, um einen Benutzernamen und ein Passwort in einer MySQL-Datenbank zu speichern. Darunter finden Sie, wie es von einer POST-Anforderung innerhalb der App senden mit:
<?
// check if email and password are not blank
if(trim($_POST['email']) != '' && trim($_POST['password']) != '')
{
$emailQuery = strtolower(mysql_real_escape_string($_POST['email']));
$passwordQuery = md5($_POST['password']);
$host = 'localhost';
$dbuser = 'username';
$dbpassword = 'password';
$dbname = 'databasename';
/* connect to the db */
$link = mysql_connect($host,$dbuser,$dbpassword) or die ('Cannot connect to the DB');
mysql_select_db($dbname,$link) or die('Cannot select the DB');
/* insert the data into the db */
$query = "INSERT INTO members VALUES ('','$emailQuery','$passwordQuery')";
mysql_query($query) or die('Errant query: '.$query);
echo "Database updated";
@mysql_close($link);
} else echo "Mandatory parameters missing";
?>
Dann aus dem App Sie die Post-Anforderung unter Verwendung NSURLConnection senden können. Ich verwende eine synchrone Anforderung aus Gründen der Einfachheit aber empfehlen, dass Sie in der Dokumentation zu NSURLConnection überprüfen und wie asynchrone Anforderungen umzusetzen und die Reaktion durch Delegatmethoden lesen:
// login and password are both UITextField instances
NSString *myRequestString = [NSString stringWithFormat:@"email=%@&password=%@",self.login.text, self.password.text];
NSData *myRequestData = [NSData dataWithBytes:[myRequestString UTF8String] length:[myRequestString length]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://domain.com/webservice.php"]];
[request setHTTPMethod: @"POST"];
[request setHTTPBody: myRequestData];
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
// To see what the response from your server is, NSLog returnString to the console or use it whichever way you want it.
NSLog (@"%@", returnString);
Ich hoffe, es hilft. Rog
Danke für den detaillierten Code Rog! – meetpd