我一直在查看所有类型的设备令牌存储方法,我认为我的问题是我从iOS设备发送数据的地方。
例如
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://myhost.com/filecreate.php?token=%@",
[[NSUserDefaults standardUserDefaults] objectForKey:@"apnsToken"]]]; //set here your URL
我应该用什么样的PHP代码来处理类似的东西?
我目前正在使用xampp,所以我在我的localhost上使用它。
我是php和体面的iOS开发者的新手,所以我真的不知道如何继续。
这就是我如何编辑32个整数的设备令牌
NSString * token = [NSString stringWithFormat:@"%@", deviceToken];
//Format token as you need:
token = [token stringByReplacingOccurrencesOfString:@" " withString:@""];
token = [token stringByReplacingOccurrencesOfString:@">" withString:@""];
token = [token stringByReplacingOccurrencesOfString:@"<" withString:@""];
推送到php脚本
答案 0 :(得分:0)
您正在使用查询字符串,因此您可以像这样处理它:
$token = $_GET['token'];
我更喜欢发布这样做:
$token = $_POST['token'];
答案 1 :(得分:0)
在您的IOS代码中,您只需将参数附加到URL(正常GET)即可使用GET。 如果你正在使用NSURLConnection,我宁愿使用&#34; GET&#34;方法,将方法指定为GET,而不是仅仅附加URL。
您可以执行以下操作,
// Create the request.
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://myhost.com/filecreate.php"]];
// Specify that it will be a POST request
request.HTTPMethod = @"GET";
// This is how we set header fields
[request setValue:@"application/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
// Convert your data and set your request's HTTPBody property
NSString *stringData = @"token=somedata¶meter_name=some_value";
NSData *requestBodyData = [stringData dataUsingEncoding:NSUTF8StringEncoding];
request.HTTPBody = requestBodyData;
// Create url connection and fire request
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
在php中获取值的方法是
$token=$_GET["token"];
$second_param=$_GET["parameter_name"]; for GET method.
$ _ GET是一个用于管理GET请求的php Super Global。同样明智的$ _POST用于管理&#39; POST&#39;请求。
要存储数据,对于短期存储,您可以使用$ _SESSION。
$_SESSION["token"]=$_POST["token"];
对于长期存储使用$ FILE数据库来创建或写入文件。
让this更多地了解超级全局变量,例如$ _POST,$ _ SERVER等。