我有3个价值观:
我有三个UIText
我可以在其中提供这些输入并将这些值保存到远程数据库中的字段。
我用GET
方法来实现它。我没有问题。但是,如果我想做同样的事情POST
方法那么我该怎么做。我认为下面现有的代码会有一点变化。如果有人知道解决方案,请与我分享。非常感谢。
祝你今天过得愉快。 :)
iOS部分的代码:
- (IBAction)saveButton:(id)sender
{
NSString *strURL = [NSString stringWithFormat:@"http://mydomain.com/iOS/Tulon/phpFile.php?name=%@&email=%@", nameTextField.text, emailTextField.text];
NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];
NSLog(@"strResult %@", strResult);
nameTextField.text = nil;
}
远程服务器部分的代码:
<?php
/* ----------------------------- Code for Dabase ----------------------------- */
// Database Properties
$dbhost = 'mydomain.com';
$dbuser = 'username';
$dbpass = 'password';
$db = 'dbName';
$dbtable = 'user';
// Connect Database
$conn = mysql_connect($dbhost,$dbuser,$dbpass) or die (mysql_error());
mysql_select_db($db, $conn) or die(mysql_error());
/* ----------------------------- Code for Dabase ----------------------------- */
if (isset ($_GET["name"]) && isset ($_GET["email"]))
{
$name = $_GET["name"];
$email = $_GET["email"];
}
else
{
$name = "Tulon";
$email = "[email protected]";
}
// Insert value into DB
$sql = "INSERT INTO $dbtable (id, name, email) VALUES (NULL, '$name', '$email');";
$res = mysql_query($sql,$conn) or die(mysql_error());
mysql_close($conn);
if ($res)
{
echo "success";
}
else
{
echo "faild";
}
?>
您可以使用 NSURLSessionDataTask 函数将数据发送到 PHP 并获取 JSON 响应。
- (IBAction)saveButton:(id)sender
{
NSString *noteDataString = [NSString stringWithFormat:@"name=%@&email=%@", nameTextField.text, emailTextField.text];
NSURLSessionConfiguration *defaultConfigObject = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *defaultSession = [NSURLSession sessionWithConfiguration: defaultConfigObject delegate: nil delegateQueue: [NSOperationQueue mainQueue]];
NSURL * url = [NSURL URLWithString:@"http://mydomain.com/iOS/Tulon/phpFile.php"];
NSMutableURLRequest * urlRequest = [NSMutableURLRequest requestWithURL:url];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody:[noteDataString dataUsingEncoding:NSUTF8StringEncoding]];
NSURLSessionDataTask * dataTask =[defaultSession dataTaskWithRequest:urlRequest completionHandler:^(NSData *dataRaw, NSURLResponse *header, NSError *error) {
NSDictionary *json = [NSJSONSerialization
JSONObjectWithData:dataRaw
options:kNilOptions error:&error];
NSString *status = json[@"status"];
if([status isEqual:@"1"]){
//Success
} else {
//Error
}
}];
[dataTask resume];
}
您可以使用以下代码处理 PHP 中的响应:
<?php
if (isset ($_POST["name"]) && isset ($_POST["email"])){
$name = $_POST["name"];
$email = $_POST["email"];
} else {
$name = "Tulon";
$email = "[email protected]";
}
// Insert value into DB
$sql = "INSERT INTO $dbtable (name, email) VALUES ('$name', '$email');";
$res = mysql_query($sql,$conn) or die(mysql_error());
mysql_close($conn);
if($res) {
$response = array('status' => '1');
} else {
die("Query failed");
}
echo json_encode($res);
exit();
?>
希望这可以帮助
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)