超详解PHP中的表单传值

it2023-08-16  65

一、PHP中表单传值的方式

有两种: get与post

1. 外观上

get: 在地址栏上看到问号,并且在问号后面跟着参数和值

post: 地址栏上没有问号(?)

2. 提交数据的大小上

get提交少了数据,一般来说不超过255个字符

post提交大量数据,提交多大的数据取决于服务器,可以通过配置php/ini文件更改支持的post提交的数据

3.安全性

get安全性低

post安全性高

4. 提交原理

get提交的数据和数据之间是独立的

post提交将所有数据作为一个整体一起提交

5. 灵活性

get很灵活,只要页面跳转就可以进行数据的get提交

post不灵活,必须要有表单的参与

二、接受数据的三种方式

$_GET:数组类型,用来保存get提交的所有数据

$_POST:数组类型,用来保存post提交的数据

$_REQUEST:数组,既能保存get提交的数据,又能保存post提交的数据。

获取数据通过表单元素的名字来获取。

三、复选框的取值

<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> <body> <?php if(isset($_POST['button'])) { print_r($_POST['hobby']); } ?> <form method="post" action=""> 爱好: <input type="checkbox" name="hobby[]" value='爬山'>爬山 <input type="checkbox" name="hobby[]" value='游泳'>游泳 <input type="checkbox" name="hobby[]" value='读书'>读书 <input type="checkbox" name="hobby[]" value='看报'>看报 <br /> <input type="submit" name="button" value="提交"> <!--注意复选框的命名方式。--> </form> </body> </html>

四、文件域

文件域就是用来文件上传的

<form> <input type="file" name="image" /> </form>

五、表单的enctype属性

application/x-www-form-urlencoded:默认值,用于安全传输文本数据application/x-www-form-urlencoded:默认值,用于安全传输文本数据text/plain:传输大段文本,用于做电子邮件

六、超全局变量$_FILES

$_FILES是一个二维数组,该数组的行是文件域的名称,列有5个

$_FILES:上传文件的名称

$_FILES:文件类型

$_FILES:用来保存临时文件的地址

$_FILES:上传过程中的错误

$_FILES:上传文件的大小,以字节为单位

(一)、$_FILES[][‘type’]:上传的文件类型

返回的是MIME格式,此格式的特点是:类型/格式

text/html:html格式的文本

image/jpeg:jpg格式的图片

image/png:png格式的图片

image/gif:gif格式的图片

text/plain:记事本格式的文本

(二)、$_FILES[][‘type’]:文件上传的临时保存地址

文件上传的过程中,不是将文件直接保存到服务器,在传递的过程中,将文件数据包放在临时地址,传递完毕后将所有的数据包组装成文件,再移动到指定目录,可以通过php.ini来设置临时地址。

###(三)、 $_FILES[][‘tmp_name’]:上传的错误号

0:正确

1:文件超出了配置文件中允许的最大值,可以通过如下配置修改。

2:文件大小超出了表单允许的最大值

3:只有部分文件上传

4:没有文件上传

6:找不到临时文件

7:文件写入失败

3:只有部分文件上传

4:没有文件上传

6:找不到临时文件

7:文件写入失败

七、PHP配置文件中其他上传的有关配置

file_uploads = on //允许文件上传 max_file_uploads = 20 //一次最多传输20个文件

八、限制文件上传类型

###(一)、获取文件扩展名 方法一:使用strrchr()函数截取文件扩展名 方法二:判断文件的mime类型 (以上两种方法,不能文件伪装) 方法三:利用extension=php_fileinfo.dll扩展可以检测文件类型,并防止文件伪装(需开启extension=php_fileinfo.dll扩展)

九、生成唯一的文件名

方法一:通过时间戳做文件名 方法二:uniqid([前缀],[生成的id更加具有唯一性]) 函数— 生成一个唯一ID

有同学现拥有一个自己的网站该怎么办呢?首先你需要一台服务器 你可以使用阿里云服务器,网页内容不会制作怎么办》在这边附一个阿里云建站云企的活动适合没有建站的经验的同学使用,其中拥有数千套网站模板,可以随意替换,备案上线快、可视化的后台管理系统,自带流量分析、集成友盟U-Web流量统计分析工具、seo收录快等特点

最新回复(0)