【问题标题】:Parsing post data (PHP)解析帖子数据 (PHP)
【发布时间】:2014-06-28 18:00:58
【问题描述】:

我是 PHP 新手,所以不确定我是否做对了。我使用 PHP 来处理数据并充当我的数据库和前端之间的主程序,用另一种语言编写。作为一项基本测试,我在前端发布了 3 个变量,由管道 | 符号分隔,所有整数,例如 60|1|5。我已经在我的小型 PHP 脚本中使用

$postdata = file_get_contents("php://input");

然后只是呼应它。然后我的另一个程序会接收回声并确认它正在发送和接收正常。

所有这些都有效,我只是不确定如何在 PHP 中分隔 3 个数字,而且我不确定是否需要添加一些安全性。这些值将被自动发送,因此它们不是输入值,但学习如何安全地执行此操作可能是明智之举?

所以,很长的问题,但基本上,我如何使用 PHP 将 60|1|5 分为 6015

【问题讨论】:

  • 这是一种发布数据的奇怪方式。您可以考虑以更传统的方式发布(即查询字符串、JSON 编码字符串等)。
  • 谢谢,我正在调查。目前对我来说最容易用分隔符发布我的值,但我会接受建议并研究 JSON 等,并尝试找出人们推荐它的原因:)
  • PDO 是一个数据库库。这和你的问题有什么关系?
  • 对不起,应该说PHP。弄糊涂了,昨天才开始。
  • 我相信你可以编辑你的问题,即使有 1 点代表。您应该修复那些对 PDO 的令人困惑的引用。

标签: php string


【解决方案1】:

你可以使用explode():

$parts = explode('|', $postdata);
echo $parts[0]; // 60

http://www.php.net/manual/en/function.explode.php

这与 PDO 无关。 PDO 用于数据库功能,而不是用于一般字符串操作。另外,如果发送请求的应用程序可以修改,我建议使用标准的序列化格式,例如 JSON。如果您的数据必须包含文字管道|,那么您现在所拥有的将是模棱两可的,并且如果可以提供帮助,您不想发明自己的序列化。

【讨论】:

  • 谢谢,是的,我正在做所有的工作,所以我可以改变它的发送方式。我将研究 JSON。不知道 Explode(),谢谢,我也会调查一下 :)
猜你喜欢
  • 1970-01-01
  • 2015-05-05
  • 2011-09-05
  • 1970-01-01
  • 2014-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-08
相关资源
最近更新 更多