php是否post
1. php中post是什么意思
在php中,post是一种用来将数据提交到Web服务器的方法。当我们在一个表单中填写了数据并点击提交按钮时,这些数据就会以post的方式被发送到服务器。在服务器端,我们可以使用$_POST数组来获取这些数据,然后进行相应的处理。
相对于get方法而言,post方法具有更高的安全性。在使用get方法时,将数据放在url中是不安全的,因为很容易被窃取或篡改。而使用post方法时,数据是以表单提交的方式发送的,不会出现在url中,从而保障了数据的安全性。
在php中,我们常常使用post方法来进行表单的提交,如登录、注册等。通过post方法可以将用户输入的数据以安全的方式提交到服务器端,进行后续的处理。在使用post方法时,需要注意参数名的设置、数据类型的匹配等问题,以保证数据能够被正确地提交和处理。
2. php中Get方法跟Post方法的区别
php中Get方法跟Post方法的区别
php——get方法 :
这个方法用来获取私有成员属性值的,有一个参数,参数传入你要获取的成员属性的名称,返回获取的属性值,这个方法不用手工的去调用,因为也可以把这个方法做成私有的方法,是在直接获取私有属性的时候对象自动调用的。
因为私有属性已经被封装上了,是不能直接获取值的,但是如果你在类里面加上了这个方法,在使用“echo$p1->name”这样的语句直接获取值的时候就会自动调用__get($name)方法,将属性name传给参数$name,通过这个方法的内部执行,返回传入的.私有属性的值。
如果成员属性不封装成私有的,对象本身就不会去自动调用这个方法。
php——post方法 :
这个方法用于传送数据,用法与get方法类似,但有区别。
区别 :
Get方法在超链接后边紧跟要传递的参数对于用户是可见的如:%D6%A3%D6%DD%B4%F3%D1%A7&fr=index&ie=utf-8
而Post方法传递的参数是不可见的。
GET是从服务器上获取数据;POST是向服务器传送数据。
在客户端,GET通过URL提交数据,数据在URL中可见;POST把数据放在form的数据体内提交。
GET提交的数据最多只有1024字节;POST提交的数据量无限制。
由于使用GET时,参数会显示在地址栏上,而POST不会,所以,如果这些数据是非敏感数据,那么使用GET;如果包含敏感数据,为了安全,用POST方法。
;3. PHP中$_POST和$_GET
$_GET
就是地址传值,用 '?' 开始传值,多个值间用 '&' 号分隔,多用于简单的传值,比如说看新闻需要新闻id一般就会用地址传值, $_GET的好处是传值可见,也就是只要一个地址就ok了,缺点是不安全,而且有限制字节数,优点是容易分享
$_POST
这种提交方式不可见,也就是传的值不会出现在URL地址中,一般用于注册和登录,这种方式因为要安全要高一点,所以会用POST方式,而且POST方式没有限制字节数,所以提交文章也会使用post
POST传值不可见,GET传值可见,在一些简单的情况应该使用GET,比如说看新闻,如果用post方式的话,网址中没有传值,就识别不了是哪编新闻,这就不容易分享了,这种情况就会使用get比较多,
上面说的只是一个例子而已,一般情况下,没特别需求,登录注册,安全性要求高的,...填写文章,需要提交大数据的,表单中含有上传文件的,都会使用post,
其他情况没什么特别的话都可以使用get
4. PHP获取post请求三种方式
在PHP中获取post请求数据有三种主要方式,它们分别是$_POST['fieldname'], file_get_contents(“php://input”),和$GLOBALS['HTTP_RAW_POST_DATA']。
第一种方式 $_POST['fieldname'],它的说明是只能接收Content-Type: application/x-www-form-urlencoded提交的数据。简单来说,就是表单POST过来的数据。
第二种方式 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”);来获取原始数据。实际上,无论使用何种Content-Type,包括二进制文件流,都可以用此方法接收POST的任何数据。因此,使用方法二是最保险的方式。
第三种方式是$GLOBALS['HTTP_RAW_POST_DATA'],此方法在获取POST数据时更为灵活,无需考虑Content-Type。
这三种方法各有特点,使用时应根据实际需求选择合适的方法。其中,file_get_contents(“php://input”)通常被认为是获取POST数据的最可靠方式,因为它无需考虑Content-Type,并且对内存的消耗较低。
5. 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']中。
6. PHP 中的 GET 与 POST 有什么区别
1. get是从服务器上获取数据,post是向服务器传送数据。
2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。
建议:
1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;