php语言的form,如何实现form表单在PHP中

如何实现form表单在PHP中

发布时间:2020-07-22 10:22:21

来源:亿速云

阅读:110

作者:Leah

这篇文章运用简单易懂的例子给大家介绍如何实现form表单在PHP中,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

1、表单的基本使用

HTML 中有一个专门用于提交数据的标签:

,通过这个标签可以很容易的收集用户输入.

form 标签有两个必要属性:

action:表单提交地址(填完了,交给谁)

method:表单以什么方式提交

例如,我们需要在登录界面上收集用户输入的用户名和密码:

登录

用户名

密码

登录

按照目前的情况,用户第一次请求得到这个表单页面,填写完表单内容,点击登录,表单会自动发送到login.php ,剩下的问题就是要考虑如何在 login.php 中获取到用户提交过来的内容.

PHP 中有三个超全局变量专门用来获取表单提交内容:

$_GET :用于获取以 GET 方式提交的内容

$_POST :用于获取以 POST 方式提交的内容

$_REQUEST :用于获取 GET 或 POST 方式提交的内容

借助  $_POST 或者  $_REQUEST 就可以获取到表单提交的内容:<?php

// 获取表单提交的用户名和密码

echo '用户名:' . $_REQUEST['username'];

echo '密码:' . $_REQUEST['password'];

1.1、提交地址

action 提交地址指的是这个表单填写完成过后点击提交,发送请求的请求地址是什么。

从便于维护的角度考虑,一般我们最常见的都是提交给当前文件,然后在当前文件中判断是否是表单提交请求:<?php

if ($_SERVER['REQUEST_METHOD'] === 'POST') {

// 表单提交请求

}

另外,建议使用 $_SERVER['PHP_SELF'] 动态获取当前页面访问路径,这样就不用因为文件重命名或者网站目录结构调整而修改代码了:

1.2、提交方式

method 可以用于设置表单提交的方式,目前我们所认识的就是最常见两种表单提交方式: GET 和 POST 。

从效果上来看,两者都可以将数据提交到服务端,但是从实现提交的原理上两者有很大的不同:

GET

表单数据是通过 URL 中的 ? 参数传递到服务端的

可以在地址栏中看到提交的内容

数据长度有限制,因为 URL 地址长度有限(2000个字符)

POST

表单数据是通过请求体传递到服务端的,我们在界面上看不到

可以提交任何类型的数据,包括文件

由于界面上看不见,浏览器也不储存,所以更安全

至于什么情况下应该选用哪种方式,这个需要结合业务场景和这两种方式各自的特点来决定,没有绝对的答案,只能给出一些原则:

绝不能使用 GET 来发送密码或其他敏感信息!!!

应该想清楚这次请求到底主要是去拿东西,还是去送东西

2、常见表单元素处理

至于表单元素中的文本框文本域一类的元素,都是直接将元素的 name 属性值作为键,用户填写的信息作为值,发送到服务端。但是表单元素中还有一些比较特殊的表单元素需要单独考虑:

2.1单选按钮

2.2、复选按钮

如果需要同时提交多个选中项,可以在  name 属性后面 跟上  [] :

https://www.php.net/manual/zh/faq.html.php#faq.html.arrays

最终提交到服务端,通过  $_POST 接收到的是一个索引数组.

2.3、选择框

语文

数学

2.4文件上传

type 属性为 file 的 input 元素可以通过表单提交文件(上传文件),服务端 PHP 可以通过 $_FILES 获取上传的文件信息。<?php

// 如果选择了文件 $_FILES['file']['error'] => 0

// 详细的错误码说明:http://php.net/manual/zh/features.file‐upload.errors.php

if ($_FILES['file']['error'] === 0) {

// PHP 在会自动接收客户端上传的文件到一个临时的目录

$temp_file = $_FILES['file']['tmp_name'];

// 我们只需要把文件保存到我们指定上传目录

$target_file = '../static/uploads/' . $_FILES['file']['name'];

if (move_uploaded_file($temp_file, $target_file)) {

$image_file = '/static/uploads/' . $_FILES['file']['name'];

}

}

$_FILES 同样也是一个关联数组,键为表单的  name ,内容如下:array(1) {

["avatar"]=>

array(5) {

["name"]=>

string(17) "demo.jpg"

["type"]=>

string(10) "image/jpeg"

["tmp_name"]=>

string(27) "C:\Windows\Temp\php786C.tmp"

["error"]=>

int(0)

["size"]=>

int(29501)

}

}

关于如何实现form表单在PHP中就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值