php $_get,$_POST 获取值教程
1、使用post方法提交表单
使用方法:把<from>表单中的method标签属性改为“post”
特点:post方法不依赖于url,不会再地址栏显示。post方法可以没有限制地传递数据到服务器,所有提交的信息在后台传输,用户在浏览器端是看不到这一过程的,安全性高。
用于:适用于发送一些保密的或者容量较大的数据到服务器。
实例:
<form name=”from1′ method=”get” action=”index.php教程”>
订单号:<input type=”text” name=”user” size=”20′>
<input type=”submit” name=”submit” value=”提交”>
</form>
显示结果:
post提交不在url上显示提交表单的值
2、使用get方法提交表单
$_get 变量是一个数组,内容是由 http get 方法发送的变量名称和值。
$_get 变量用于收集来自 method="get" 的表单中的值。从带有 get 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符)。
使用方法:把<from>表单中的method标签属性改为“get”
特点:使用get方法提交表单数据将附加到url上,并作为url的一部分发送到服务器,在url上会显示传递数据的内容
形式:http://url?name1=value1&name2=value2…
url:为表单响应地址
name1:为表单元素名称
value1:为name1表单的值
$:多个表单元素间的分隔符
实例:
<form name=”from1′ method=”get” action=”index.php”>
用户名:<input type=”text” name=”user” size=”20′>
密码:<input name=”pwd” type=”password” size=”20′ >
<input type=”submit” name=”submit” value=”提交”>
</form>
输出结果:
使用get方式提交表单数据
从上面两点中我们能了解到两种提交方式有着两种截然不同的数据传输模式,使用post提交表单中的数据,数据信息完全在后台传输,不会显示在浏览器的url信息中。而get提交表单中的数据,则会在url中显示传递数据的值。今天对于这两种数据提交方法就介绍到这里
注释:http get 方法不适合大型的变量值;值是不能超过 100 个字符的。
$_request 变量
php 的 $_request 变量包含了 $_get, $_post 以及 $_cookie 的内容。
php 的 $_request 变量可用来取得通过 get 和 post 方法发送的表单数据的结果。
例子
welcome <?php echo $_request["name"]; ?>.<br />
you are <?php echo $_request["age"]; ?> years old!
array()可以声明一个空数组;
array[] = $value 在数组存在时,追加一个数据;在数组不存时,生成一个数组,并追加数据。
array[$index] = $value 在数组存在时,追加或修改一个数据;在数组不存时,生成一个数组,并追加数据
range($n, $m); 指定值的范围。如range(2,4)生成数组 array(2,3,4)。
count($array); 取得数组的大小。
array_pad($array, $length, $value); 返回一个长度$length的数组,原不足数组补值为$value,长度足够返回原数组。
代码如下 | 复制代码 |
// 声明数组 $test01 = array(); // 追加数据 $test01[] = "a"; // array(0 => "a"); // 追加一个索引为"a",数据为"b"的数据 $test01["a"] = "b"; // array(0 => "a", "a" => "b"); // 修改索引为0的数据 $test01[0] = "c"; // array(0 => "c", "a" => "b"); // 另一种声明方法 $test02 = array("a", "b", "c"); // array(0 => "a", 1 => "b", 2 => "c"); // 虽然声明了一个字符串索引的数据,但默认索引还是从0开始 $test03 = array("a" => "a", "b", "c"); // array("a" => "a", 0 => "b", 1 => "c"); // 声明中最大的索引为2,虽然最近是索引是0,但默认索引还是从3开始 $test04 = array(2 => "a", 0=>"b", "c"); // array(2 => "a", 0 => "b", 3 => "c"); // 声明一个小数索引会取其整数部分;指定索引时,会修改之前声明的值 $test05 = array("a", 2.7=>"b", 0=>"c"); // array(0 => "c", 2 => "b"); // 虽然声明了负数索引,但默认索引还是从0开始 $test06 = array(-2 =>"a", "b", "c"); // array(-2 => "a", 1 => "b", 2 => "c"); // 多维数组的定义 |
$test07 = array($test01, $test02, $test03);
php的数组,说白了,就是关联数据每一条数组都是以[索引,值]的形式保存的。其中索引默认是以0开始的数字。在未指定索引时,php会从0开始自动生成索引。当指定一个索引,php会从你指定索引最大正整数的下一个整数开始。如果你指定的是小数,php会取整数部分做为索引。
复选框能够进行项目的多项选择,浏览者在填写一些表单时,有时需要选择多个项目(如:兴趣爱好等)
复选框一般是多个同时存在,为了便于传值,name的名字可以定义为数组形式:<input type=”checkbox” name=”chkbox[]” value=”chkbox1′>
在返回页面中可以用count()函数计算数组的大小,结合for循环语句输出选择的复选框的值
<?php教程
if(($_post[mrbook]!= null)){
echo “您选择的结果是:”;
for($i = 0;$i<count($_post[mrbook]);$i++)
echo $_post[mrbook][$i].” ”; //循环输出用户选择的图书类别
}
?>
<form name=”form1′ method=”post” action=”index.php”>
<table width=”445′ cellpadding=”0′ cellspacing=”0′>
<tr>
<td width=”443′ height=”41′ align=”center” valign=”top”>
您喜欢的图书类型:
<input type=”checkbox” name=”mrbook[]” value=”入门类”>
入门类
<input type=”checkbox” name=”mrbook[]” value=”案例类”>
案例类
<input type=”checkbox” name=”mrbook[]” value=”讲解类”>
讲解类
<input type=”checkbox” name=”mrbook[]” value=”典型实例类”>
典型实例类
<br>
<input type=”submit” name=”submit” value=”提交”></td>
</tr>
</table>
</form>
获取文本框、密码域、隐藏域、按钮、文本域的值
获取文本框、密码域、隐藏域、按钮、文本域的值的方法都是相同的,都是使用name属性来获取想用的value值。所以在定义name值时尽量不要重复,以免获取错误的值。
下面我们通过一个实例来说明用$_post[]获取获取文本框、密码域、隐藏域、按钮、文本域的值的具体方法:
实例代码:
<?php
if($_post["submit"]==”登陆”){ //判断是否提交信息
echo”您输入的密码为:”.$_post[user].”<br>密码为:”.$_post[pw]; //输入提交数据
}
?><form action=”index.php” method=”post” name=”zero”> //建立form表单
用户名:<input type=”text” name=”user” size=”20′/><br>
密码:<input type=”password” name=”pw” size=”20′/><br>
<input type=”submit” name=”submit” value=”登陆”/>
</form>
显示结果:
您输入的密码为:zero
密码为:123456
用户名:
密码:
二、获取单选框按钮的值
radio单选框按钮一般是成组出现的,具有相同name值和不同的value值,在一组单选按钮中同一时间只能选中一个值。
下面通过具体的实例来解释如何获取单选框的值
实例代码:
<?php
if($_post["submit"]==”提交”){ //判断是否提交数据
echo”您的性别是:”.$_post["sex"];
}
?>
<form action=”index.php” method=”post” name=”zero”>
性别:
<input type=”radio” name=”sex” value=”男” checked />男
<input type=”radio” name=”sex” value=”女”/>女
<input type=”submit” name=”submit” value=”提交”/>
</form>
输出结果:
您的性别是:男
cookie介绍
cookie是document的属性。某些网站为了辨别用户身份而储存在用户本地终端的数据(用户硬盘上的一个字符串) 。定义 于 rfc2019.
cookie的由来
cookie 最初的设计是为服务器端程序设计,所以服务器端的脚本可以读写客户端的cookie值。写入cookie有两种方式,服务器端写入cookie、客户端写入cookie.
这时候,我们可以在服务器和客户端都可以访问他的值。
cookie的属性:expires、path、secure。
expires: 指定了cookie的生存期。
默认情况下,cookie是暂时存在的,他们存储的值只在浏览器会话期间存在,退出浏览器后,这些值也就消失。
如果让一个cookie的存在超过会话期,就需要设置expires为未来的一个日期,浏览器会把cookie保存到本地文件中,一旦超过了终止日期,浏览器
自动的从cookie文件中删除掉cookie. (不同的浏览器的cookie文件夹是不同的)。
path:
默认情况下,cookie会和创建它的网页以及与这个网页处于同一个目录下的网页 和处于该目录的子目录下的网页关联
secure : 指定如何传输cookie, 是http(不安全) 还是 https教程 或其他安全协议 连接时才被传输。
cookie的存储和访问:
通常情况下使用:
document.cookie = 'version=' + encodeuricomponent(保存的值);
cookie值不允许使用分号、逗号、空白符。所以通常使用 encodeuricomponent, 当你读取的时候不要忘记 decodeuricomponent()解码;
cookie的读取:
他是一个name=value的列表。之间使用分号隔开。可以使用 string.indexof() 或者 string.substring() 或者 string.split() 将字符传分割成单独的cookie.
采集qq校友学校数据代码
<?php教程
/**
* 采集qq校友学校数据
*
* @package zwframe
*/
// ####################### set php environment ###########################
error_reporting(e_all & ~e_notice);
// #################### define important constants #######################
define('this_script', 'qqschools');
// ######################### require back-end ############################
require_once ('./global.php');
set_time_limit(0);
/**
* 采集链接
* 大学: http://api.pengyou.qq.com/index.php?mod=school&act=selector&schooltype=0&country=0&province=11&prefix=b
*/
$prefixs = range('a', 'z');
$areas = range(11, 82);
foreach ($areas as $area)
{
$sql = array();
foreach ($prefixs as $prefix)
{
$html = '';
$html = file_get_contents("http://api.pengyou.qq.com/index.php?mod=school&act=selector&schooltype=0&country=0&province={$area}&prefix={$prefix}");
preg_match_all("#网页特效:choose_school((d+),'([^']+)')#i", $html, $schools);
unset($html);
if (!empty($schools[2]))
{
foreach ($schools[2] as $key => $value)
{
$sql[] = "('{$area}0000', '{$value}', 0, '{$prefix}')";
}
}
}
unset($schools);
if (!empty($sql))
{
ob_end_clean();
// 写入数据库教程
$query = "insert into schools (areaid, schoolname, schooltype, prefix) values " . implode(',', $sql);
$zwframe->db->query_write($query);
echo "{$area}0000 地区的大学数据导入完成...<br />";
unset($sql, $query);
flush();
sleep(1);
}
}
?>
注:
上传文件时需要声明是以二进制数据上传 (enctype=”multipart/form-data”). 而以二进制数据上传时$_request是获取不到input等值.(file是可以获取到)
避免的方法就是使用 $_post 或是 $_get 方式获取
相关文章
- 今天小编在这里就来给Painter的这一款软件的使用者们来说一说绘制红衣喝酒男水粉画效果的教程,各位想知道具体绘制步骤的使用者,那么下面就快来跟着小编一起看一看教程...2016-09-14
iPhone6怎么激活?两种苹果iPhone6激活教程图文详解
iPhone6新机需要激活后才可以正常使用,那么对于小白用户来说,iPhone6如何激活使用呢?针对此问题,本文就为大家分别介绍Wifi无线网络激活以及iPhone6连接电脑激活这两种有效的方法,希望本文能够帮助到大家...2022-09-14- 今天小编在这里就来给各位photoshop的这一款软件的使用者们来说下制作雨中野外孤独行走的一头牛海报的教程,各位想知道具体制作方法的使用者们,大家就快来看一看小编给...2016-09-14
- 今天小编在这里就来给Painter的这一款软件的使用者们来说一下绘制帅气卡通魔法王子漫画的具体教程,各位想知道绘制步骤的使用者,那么下面就快来跟着小编一起看一看教程...2016-09-14
- 今天小编在这里就来给各位Illustrator的这一款软件的使用者们来说说鼠绘堆雪人的孩童矢量插画的教程,各位想知道具体绘制方法的使用者们,那么各位就快来跟着小编来看看...2016-09-14
- 今天小编在这里就来给美图秀秀的这一款软件的使用者们来说下究竟该怎么给照片天空加蓝天白云的教程,各位想知道具体制作步骤的,那么下面就来跟着小编一起看看吧。 ...2016-09-14
- 支付宝支付在国内算是大家了,我们到处都可以使用支付宝了,下文整理介绍的是在安卓app应用中使用支付宝进行支付的开发例子。 之前讲了一篇博客关与支付宝集成获取...2016-09-20
- 今天小编在这里就来给llustrator的这一款软件的使用者们来说一说绘制扁平化风格卡通警察护士空姐肖像的教程,各位想知道具体绘制步骤的使用者们,那么下面就快来跟着小编...2016-09-14
- 今天小编在这里就来给Illustrator的这一款软件的使用者们来说一下绘制一个方形的录音机图标的教程,各位想知道具体绘制方法的使用者们,那么下面就来看一下小编给大家分...2016-09-14
- 今天小编在这里就来给photoshop的这一款软件的使用者们来说一说简单制作一个搞笑的换脸表情包的教程,各位想知道具体制作方法的使用者们,那么大家就快来看一看教程吧。...2016-09-14
- 下面本文章来给大家介绍在php中成员变量的一些对比了,文章举了四个例子在这例子中分别对不同成员变量进行测试与获取操作,下面一起来看看。 有如下4个代码示例,你认...2016-11-25
- 今天小编在这里就来给各位photoshop的这一款软件的使用者们来说说给手绘画调色变换场景的后期教程,各位想知道具体后期处理步骤的使用者们,那么大家就快来跟着小编来看...2016-10-02
- php 获取用户IP与IE信息程序 function onlineip() { global $_SERVER; if(getenv('HTTP_CLIENT_IP')) { $onlineip = getenv('HTTP_CLIENT_IP');...2016-11-25
- 今天小编在这里就来给美图秀秀的这一款软件的使用者们来说一下让你胸丰满起来的处理教程,各位想知道具体处理步骤的,那么下面就快来跟着小编一起看一下教程吧。 给...2016-09-14
- 今天小编在这里就来给Painter的这一款软件的使用者们来说一下绘制雷神传插画的教程,各位想知道具体绘制步骤的使用者,那么下面就快来跟着小编一起看看绘制方法吧。 ...2016-09-14
- php获取一个文件夹的mtime的程序了,这个就是时间问题了,对于这个问题我们来看小编整理的几个例子,具体的操作例子如下所示。 php很容易获取到一个文件夹的mtime,可以...2016-11-25
- 获取网站icon,常用最简单的方法就是通过website/favicon.ico来获取,不过由于很多网站都是在页面里面设置favicon,所以此方法很多情况都不可用。 更好的办法是通过google提供的服务来实现:http://www.google.com/s2/favi...2014-06-07
- 主要功能:获取浏览器显示区域(可视区域)的高度 : $(window).height(); 获取浏览器显示区域(可视区域)的宽度 :$(window).width(); 获取页面的文档高度 $(document).height(); 获取页面的文档宽度 :$(document).width();...2015-10-21
- 今天小编在这里就来给美图秀秀的这一款软件的使用者们来说下制作隔离区聊天背景的教程,各位想知道具体方法的,那么下面就快来跟着小编一起看一看吧。 给各位美图秀...2016-09-14
- 联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进...2015-11-24