导航:首页 > 编程语言 > phppost返回数据

phppost返回数据

发布时间:2025-06-30 23:23:22

php如何接收别的服务器post过来的数据 - 技术问答

通常情况下用户使用浏览器网页表单向服务器post提交数据,我们使用PHP的$_POST接收用户POST到服务器的数据,并进行适当的处理。但有些情况下,如用户使用客户端软件向服务端php程序发送post数据,而不能用$_POST来识别,那又该如何处理呢?
我们介绍php接受post数据的三种方式:
1.$_POST方式接收数据
$_POST方式是通过 HTTP POST 方法传递的变量组成的数组,是自动全局变量。如使用$_POST[‘name’]就可以接收到网页表单以及网页异步方式post过来的数据,
即$_POST只能接收文档类型为Content-Type: application/x-www-form-urlencoded提交的数据,也就是表单POST过来的数据。
2.$GLOBALS[‘HTTP_RAW_POST_DATA’]方式接收数据
但$GLOBALS[‘HTTP_RAW_POST_DATA’]中是否保存POST过来的数据取决于centent-Type的设置,只有在PHP在无法识别的Content-Type的情况下,才会将POST过来的数据原样地填入变量$GLOBALS[‘HTTP_RAW_POST_DATA’]中,像Content-Type=application/x-www-form-urlencoded时,该变量是空的。
另外,它同样无法读取Content-Type为multipart/form-data的POST数据,也需要设置php.ini中的always_populate_raw_post_data值为On,PHP才会总把POST数据填入变量$http_raw_post_data。
3.php://input方式接收数据
如果访问原始 POST 数据的更好方法是 php://input。php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的php.ini设置,php://input不能用于 enctype=”multipart/form-data”。对于未指定 Content-Type 的POST数据,则可以使用file_get_contents(“php://input”)来获取原始数据。事实上,用PHP接收POST的任何数据都可以使用本方法。而不用考虑Content-Type,包括二进制文件流也可以。php://input读取不到$_GET数据。是因为$

❷ 怎么获取form表单将要提交的数据

在PHP中,可以通过POST和GET两种方法获取表单提交的数据。这两种方法都会将数据以数组形式返回,因此你需要通过键值对来获取具体的值。例如,在一个名为index.php的页面中,你可以使用POST方法来提交表单数据,代码如下:

php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST['name'];
$email = $_POST['email'];
// 其他数据处理
}

同样地,你也可以使用GET方法来实现这一功能,代码如下:

php
if ($_SERVER["REQUEST_METHOD"] == "GET") {
$name = $_GET['name'];
$email = $_GET['email'];
// 其他数据处理
}

在实际应用中,通常推荐使用POST方法来提交表单数据。相比GET方法,POST方法有以下几个优点:

1. 可以提交大量数据,而GET方法的数据长度有限。

2. POST方法更安全,因为数据不会直接出现在URL中。

3. 对于表单中的文件上传,只能使用POST方法。

无论是使用POST还是GET方法,获取到的数据都需要进一步处理,例如验证和过滤,以确保数据的安全性和正确性。在处理完数据后,你还可以根据需要将数据用于页面显示、数据库操作等。

值得注意的是,在处理POST或GET提交的数据时,必须确保数据的合法性。例如,检查输入是否为空、是否符合预期的数据类型等,以防止潜在的安全风险。

总之,通过POST或GET方法获取表单提交的数据是PHP中常见的操作。正确地处理这些数据对于构建安全、高效的Web应用程序至关重要。

❸ 在PHP中怎么接收post过来的JSON数据

在PHP中接收POST过来的JSON数据,通常有两种方式。一种是直接使用file_get_contents函数获取原始数据,然后利用json_decode将JSON字符串转换为PHP数组或对象。例如:file_get_contents('php://input');获取数据后,使用json_decode(file_get_contents('php://input'), true)进行解码。另一种方式是通过$_POST超全局变量接收,这种方式需要在发送请求时设置Content-Type为application/json。例如:$_POST['data'],但这种方式并不推荐,因为$_POST通常用于接收表单数据。

下面是一个完整的示例,展示如何在PHP中处理POST过来的JSON数据:

首先,假设前端使用JavaScript发送JSON数据,代码如下:

JavaScript代码示例:

function sendData() {
var data = {'zhangsan':'lisi', 'age':18};
var xhr = new XMLHttpRequest();
xhr.open('POST', '/path/to/php/script', true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText);
}
};
xhr.send(JSON.stringify(data));
}

然后在PHP中接收并处理这些数据:

PHP代码示例:

<?php
$jsonData = file_get_contents('php://input');
$data = json_decode($jsonData, true);
echo "接收到的数据:";
print_r($data);
?>

上面的PHP代码首先使用file_get_contents('php://input')获取原始数据,然后通过json_decode将其转换为PHP数组。接着,使用print_r输出数据内容。

这种方式不仅适用于POST请求,也适用于其他HTTP方法。通过这种方式,PHP能够灵活地处理不同来源和格式的数据,增强应用的通用性和可维护性。

❹ PHP使用POST传递json数据的接收与处理问题

前端传给服务器的只是json 格式的字符串,使用json_decode,
mixed json_decode ( string $json [, bool $assoc ] )

var_mp(json_decode($json));
var_mp(json_decode($json, true));
如果不带参数,则返回为对象
带上true时,返回数组

foreach($ARR as $k=>$v){
echo 'key='.$k.';value='.$v;
}
单独处理每个key 和对应的value就好

❺ php 怎么POST获取数据

方法1、最常见的方法是:$_POST['fieldname'];

说明:只能接收Content-Type: application/x-www-form-urlencoded提交的数据
解释:也就是表单POST过来的数据
方法2、file_get_contents("php://input");

说明:
允许读取 POST 的原始数据。
和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。
php://input 不能用于 enctype="multipart/form-data"。
解释:
对于未指定 Content-Type 的POST数据,则可以使用file_get_contents(“php://input”);来获取原始数据。
事实上,用PHP接收POST的任何数据都可以使用本方法。而不用考虑Content-Type,包括二进制文件流也可以。
所以用方法二是最保险的方法
方法3、$GLOBALS['HTTP_RAW_POST_DATA'];

说明:
总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。
此变量仅在碰到未识别 MIME 类型的数据时产生。
$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用
如果post过来的数据不是PHP能够识别的,可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,
比如 text/xml 或者 soap 等等
解释:
$GLOBALS['HTTP_RAW_POST_DATA']存放的是POST过来的原始数据。
$_POST或$_REQUEST存放的是 PHP以key=>value的形式格式化以后的数据。
但$GLOBALS['HTTP_RAW_POST_DATA']中是否保存POST过来的数据取决于centent-Type的设置,即POST数据时 必须显式示指明Content-Type: application/x-www-form-urlencoded,POST的数据才会存放到 $GLOBALS['HTTP_RAW_POST_DATA']中

阅读全文

与phppost返回数据相关的资料

热点内容
北京压缩米饭 浏览:553
施工员与程序员哪个好 浏览:207
vc与word编程 浏览:950
androidmenu文字颜色 浏览:982
安卓手机玩游戏怎么会闪退 浏览:553
声控解压球要晾几天才能晾干呢 浏览:562
安卓手机拍照如何自动调整 浏览:627
程序员必知 浏览:22
cs16bot命令 浏览:869
马六压缩机不工作 浏览:407
c语言使用命令 浏览:781
初遇是个什么app 浏览:744
编译依赖包下载 浏览:879
excel表格数据加密怎么解密 浏览:475
外国安卓手机图片加密 浏览:724
帝国时代2电脑解压包 浏览:614
安卓机在国外怎么用 浏览:993
在微信上如何传文件夹 浏览:558
bios编译用什么语言 浏览:779
入手单片机 浏览:114