php 文件以获取设备令牌并将其存储以供以后用户使用

Posted

技术标签:

【中文标题】php 文件以获取设备令牌并将其存储以供以后用户使用【英文标题】:php file to get device token and store it for later user 【发布时间】:2014-07-18 14:38:37 【问题描述】:

我一直在研究各种设备令牌存储方法,我认为我的问题是我从 ios 设备发送数据的位置。

例如

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://myhost.com/filecreate.php?token=%@",
[[NSUserDefaults standardUserDefaults] objectForKey:@"apnsToken"]]]; //set here your URL

我应该编写什么样的 php 代码来处理这样的事情?

我目前正在使用 xampp,所以我的本地主机上有它。

我完全是 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 脚本

【问题讨论】:

你能举一个你正在推送的令牌的例子吗? @DarylGill 你能再检查一下吗 【参考方案1】:

您正在使用查询字符串,因此您可以这样处理它:

$token = $_GET['token'];

我更喜欢发帖:

$token = $_POST['token'];

【讨论】:

【参考方案2】:

在您的 IOS 代码中,您正在使用 GET,只需将参数附加到 URL(普通 GET)。 如果您使用的是 NSURLConnection,我会更喜欢使用“GET”方法,通过将方法指定为 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&parameter_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 是一个 php Super Global,用于管理 GET 请求。同样,$_POST 用于管理 'POST' 请求。

要存储数据,您可以使用 $_SESSION 进行短期存储。

$_SESSION["token"]=$_POST["token"];

对于长期存储使用 $FILE 数据库来创建或写入文件。

参考this 了解更多关于超级全局变量的信息,例如 $_POST、$_SERVER 等。

【讨论】:

以上是关于php 文件以获取设备令牌并将其存储以供以后用户使用的主要内容,如果未能解决你的问题,请参考以下文章

如何 $.post 一个 js 变量并将其存储到 php 以供以后使用,类似于 LocalStorage?

是否可以为多个Facebook用户获取访问令牌?

应该存储哪些 JWT 令牌以供以后使用?

如何获取用户的设备令牌并将其作为 PDF 文件附加到电子邮件中?

什么是加载剥离javascript并将其放入数组以供以后使用的替代方法

在设备上存储 JWT 以保持用户登录