方法1、最常见的方法是:$_POST['fieldname'];
成都创新互联专业为企业提供社旗网站建设、社旗做网站、社旗网站设计、社旗网站制作等企业网站建设、网页设计与制作、社旗企业网站模板建站服务,10余年社旗做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
说明:只能接收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']中
1、首先要创建一个cookie,名字为UserName,值为zs,过期时间为2个星期:\x0d\x0asetcookie("UserName","zs",time()+2*7*24*3600);\x0d\x0a2.取cookie的值\x0d\x0aecho $_COOKIE['UserName'];\x0d\x0a如果你不知道cookie里面有些什么信息,可以先打印出来看下再取值,print_r($_COOKIE)就行;
试编写代码如下:
?php
//从数据库根据 id 获取颜色
function getColor($db, $id)
{
if ($result = $db-query("SELECT * FROM color where id='" . $id . "'"))
{
$row = $result-fetch_assoc();
return $row['color'];
}
return '#000000';
}
$mysqli = new mysqli("localhost", "test", "test", "room");
if ($mysqli-connect_error) {
printf("数据库连接错误: %s\n", mysqli_connect_error());
exit();
}
?
table border="1" cellspacing="0"
tr
td bgcolor="?php echo getColor($mysqli,'1')?"1/td
/tr
tr
td bgcolor="?php echo getColor($mysqli,'2')?"2/td
/tr
tr
td bgcolor="?php echo getColor($mysqli,'3')?"3/td
/tr
/table
?php
$mysqli-close();
?
你将这个数组用php的 serialize() 函数转换一次。再插入到数据库中。
读取的话,你就从数据库中取出来。再用php的 unserialize()函数转换为php的数组