1、Php动态网站设计与应用段克奇Sea_7/30/20221第1页,共20页。第四讲第四讲 Php常用交互技术 1.操作表单2.?传值 3.获取客户端IP、OS、IE4.cookie技术 5.上传文件 6.发送邮件7/30/20222第2页,共20页。第四讲第四讲 Php常用交互技术1.操作表单$_POST“”数组$_GET“”数组比如:用户名称:用户口令:用户爱好:电影1电影2电影3电影47/30/20223第3页,共20页。第四讲第四讲 Php常用交互技术1.操作表单 这是result.php页面的处理代码:用户名称:用户口令:用户爱好:一共有个爱好!分别如下:?phpforeach($ah
2、 as$r)echo$r.;?注意:这两个基本的数组只能用大写字母:错误错误:$_get$post:$_get$post7/30/20224第4页,共20页。第四讲第四讲 Php常用交互技术2.?传值 这个操作和asp环境完全相同,举例说明7/30/20225第5页,共20页。第四讲第四讲 Php常用交互技术3.获取客户端IP、OS、IE?phpecho$_SERVERREMOTE_ADDR;echo;echo$_SERVERHTTP_USER_AGENT;/可以用split()函数隐藏ip的某一位.?7/30/20226第6页,共20页。第四讲第四讲 Php常用交互技术3.获取客户端IP、O
3、S、IEfunction os($text)if(strstr($text,NT 5.2)!=)$system=Windows 2003;elseif(strstr($text,NT 5.1)!=)$system=Windows XP;elseif(strstr($text,NT 5)!=)$system=Windows 2000;elseif(strstr($text,NT 4)!=)$system=Windows NT4;elseif(strstr($text,NT 4.9)!=)$system=Windows ME;elseif(strstr($text,98)!=)$system=Wi
4、ndows 98;elseif(strstr($text,95)!=)$system=Windows 95;else$system=未知;return$system;7/30/20227第7页,共20页。第四讲第四讲 Php常用交互技术3.获取客户端IP、OS、IEfunction browser($text)if(strstr($text,MSIE 6.0)!=)$r=Internet Explorer 6.0;elseif(strstr($text,MSIE 5.5)!=)$r=Internet Explorer 5.5;elseif(strstr($text,MSIE 5.01)!=)$
5、r=Internet Explorer 5.01;elseif(strstr($text,MSIE 5.0)!=)$r=Internet Explorer 5.00;elseif(strstr($text,MSIE 4.0)!=)$r=Internet Explorer 4.01;else$r=未知;return$r;7/30/20228第8页,共20页。第四讲第四讲 Php常用交互技术3.获取客户端IP、OS、IE?php/*调用方法*echo$_SERVERREMOTE_ADDR;echo;echo$_SERVERHTTP_USER_AGENT;echo;echo os($_SERVERH
6、TTP_USER_AGENT);echo;echo browser($_SERVERHTTP_USER_AGENT);?7/30/20229第9页,共20页。第四讲第四讲 Php常用交互技术4.Cookie技术应用:Cookie是用户访问网站时,由web服务器在客户端磁盘上写入的一些小文件,用于记录浏览者的一些个人信息以及所做的操作信息。在需要时你可以像使用一般变量一样方便的使用cookie。Cookies由函数setcookie()设定。与输出HTTP标头的函数header()一样,setcookie()必须在任何实际内容杯输出到浏览器之前调用。在php环境下设置cookie变量的语法如下:
7、setcookie(“变量名称”,变量结果,有效期)比如:setcookie(“num”,1,time()+10)意思为声明一个cookie变量num结果为1,有效期为10秒。/time()函数返回自1970年1月1日以来的以秒数计的时间 7/30/202210第10页,共20页。第四讲第四讲 Php常用交互技术4.Cookie技术应用:通常是使用Time()和Mktime()来设置cookie变量的寿命,从而避免浏览器关闭时,cookie变量的终止。Time()函数用来确定当前时间,秒为单位,比如:一般用此函数设置cookie终止的相对时间;比如:setcookie(“num”,1,time
8、()+10)/表示相对于当前时间10秒后失效Mktime()Mktime(hour,minute,second,month,day,year)比如:mktime(0,0,0,7,1,2005)表示2005-7-1 00:00:00一般用此函数设置cookie终止的绝对时间;比如:setcookie(“num”,1,mktime(0,0,0,7,1,2005)/表示绝对在2005-7-1 00:00:00后失效7/30/202211第11页,共20页。第四讲第四讲 Php常用交互技术4.Cookie技术应用:访问cookie:在php中,设置cookie后,不能再相同的请求中访问cookie。而
9、在设置完后,需要重载网页才可以正常访问。Isset()函数:用于确定变量是否被设置,如已经设置,返回true,否则返回false;Empty()函数:Header()函数:网页重定向 header(location:form.php?message=不能为空!);用$_COOKIE“”数组来接收cookie变量中的结果。比如:$num=$_COOKIE“num”;/表示接收上述设置的cookie变量7/30/202212第12页,共20页。第四讲第四讲 Php常用交互技术4.Cookie技术应用:一个简单的计数器例子:/也可以结合前面讲的图形计数器效果改成图形效果。/下面再举一个用户登陆用co
10、okie变量记录用户信息的例子。7/30/202213第13页,共20页。第四讲第四讲 Php常用交互技术5.php上传文件处理:php上传文件是使用php环境中的全局变量$_FILES来完成的,全局变量$_FILES自 PHP 4.1.0 起存在,此数组包含有所有上传的文件信息。(在更早的版本中用$HTTP_POST_FILES 替代)。可以如下建立一个特殊的表单来支持文件上传:选择上传文件:注:要确保文件上传表单的属性是 enctype=“multipart/form-data”,否则文件上传不了。以上范例中$_FILES 数组的内容如下所示。我们假设文件上传字段的名称如上例所示,为 up
11、loadfile。名称可随意命名。$_FILES“uploadfile”name客户端机器文件的原名称。$_FILES“uploadfile”size已上传文件的大小,单位为字节。$_FILES“uploadfile”tmp_name 文件被上传后在服务端储存的临时文件名。$_FILES“uploadfile”error 和该文件上传错误代码。在 PHP 4.2.0 新增的。$_FILES“uploadfile”type 文件的 MIME 类型。如果浏览器提供此信息的话。一个例子是“image/gif”。不过此 MIME 类型在 PHP 端并不检查,因此不要想当然认为有这个值。注:上述代码中的
12、namesizetmp_nameerrortype都是关键字,不能拼写出错。7/30/202214第14页,共20页。第四讲第四讲 Php常用交互技术5.php上传文件处理:以上范例中$_FILES 数组的内容如下所示。我们假设文件上传字段的名称如上例所示,为 uploadfile。名称可随意命名。$_FILES“uploadfile”name客户端机器文件的原名称。$_FILES“uploadfile”size已上传文件的大小,单位为字节。$_FILES“uploadfile”tmp_name 文件被上传后在服务端储存的临时文件名。$_FILES“uploadfile”error 和该文件上
13、传错误代码。在 PHP 4.2.0 新增的。$_FILES“uploadfile”“type”文件的 MIME 类型。如果浏览器提供此信息的话。一个例子是“image/gif”。不过此 MIME 类型在 PHP 端并不检查,因此不要想当然认为有这个值。注:上述代码中的“name”“size”“tmp_name”“error”“type”都是关键字,不能拼写出错。文件被上传后,默认地会被储存到服务端的默认临时目录中,即 php.ini 中的 upload_tmp_dir设置的路径下。7/30/202215第15页,共20页。第四讲第四讲 Php常用交互技术5.php上传文件处理:表单接收页面up
14、load.php?php$t=0;/*设置超时限制时间缺省时间为 30秒设置为0时为不限时*/set_time_limit($t);$uploadfile=upload/.($_FILESuploadfilename);if(move_uploaded_file($_FILESuploadfiletmp_name,$uploadfile)echo 文件上传成功!返回n;?window.parent.form1.photo.value=?phpelseecho 文件上传失败!返回;?7/30/202216第16页,共20页。第四讲第四讲 Php常用交互技术5.php上传文件处理:接受上传文件的
15、PHP 脚本为了决定接下来要对该文件进行哪些操作,应该实现任何逻辑上必要的检查。例如可以用$_FILESuserfilesize 变量来排除过大或过小的文件,也可以通过$_FILESuserfiletype 变量来排除文件类型和某种标准不相符合的文件,但只把这个当作一系列检查中的第一步,因为此值完全由客户端控制而在 PHP 端并不检查。如果表单中没有选择上传的文件,则 PHP 变量$_FILESuserfilesize 的值将为 0,$_FILESuserfiletmp_name 将为空。如果该文件没有被移动到其它地方也没有被改名,则该文件将在表单请求结束时被删除。7/30/202217第17页,共20页。第四讲第四讲 Php常用交互技术6.发送邮件:mail()函数:7/30/202218第18页,共20页。第四讲第四讲 Php常用交互技术 总结:熟练掌握php的各种交互操作技术7/30/202219第19页,共20页。演讲完毕,谢谢观看!第20页,共20页。