189 8069 5689

如何实现form表单在PHP中-创新互联

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

10年积累的成都网站制作、成都网站建设、外贸营销网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有阳信免费网站建设让你可以放心的选择与我们合作。

                                                           1、表单的基本使用

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

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

form 标签有两个必要属性:
  action:表单提交地址(填完了,交给谁)
  method:表单以什么方式提交

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




  
  登录


  
    

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

PHP 中有三个超全局变量专门用来获取表单提交内容:
   $_GET :用于获取以 GET 方式提交的内容
   $_POST :用于获取以 POST 方式提交的内容
   $_REQUEST :用于获取 GET 或 POST 方式提交的内容

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

1.1、提交地址

action 提交地址指的是这个表单填写完成过后点击提交,发送请求的请求地址是什么。
从便于维护的角度考虑,一般我们最常见的都是提交给当前文件,然后在当前文件中判断是否是表单提交请求:

另外,建议使用 $_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 获取上传的文件信息。

 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中就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:如何实现form表单在PHP中-创新互联
分享地址:http://jkwzsj.com/article/dgcieh.html

其他资讯