PHP核心学习(1)

一.表单传值

表单传值即浏览器通过表单元素将用户的选择或者输入的数据提交给后台服务器语言。

1.GET传值

①form表单(表单元素实现)

<form method="GET">表单元素</form>
<--通过get传输-->

②a标签(表单元素实现)

<a href="www.baiduhaha.cn/index.php?学科=PHP">
<--其中,"?变量=赋值"形式可以传输数据-->

③location对象的href属性(JavaScript实现)

<script>location.href="www.haha.cn/index.php?学科=PHP"</script>

④location对象的assign()方法(JavaScript实现)

<script>location.assign("www.haah.cn/index.php?data=PHP")</script>
2.POST传值

①post表单方式的基本设定

<form method>

②post方式跟get方式的区别
1)get传输的数据主要是用来获取数据,不改变服务器上的资源
2)post传输的数据主要是用来增加数据,改变服务器上的资源
3)传输方式上post必须使用form表单,而get可以使用form表单和URL
4)get传输数据可以在URL中对外可减,而post不可见,
get传值最终会在浏览器的地址栏中全部显示:?数据名=数据值&数据名 2=数据值 2……
5)get和post能传输的数据大小不同,get为2K,post理论无限制
6)get传输简单数据(数值/字符串),post可以提交复杂数据(二进制等)

3.PHP接收数据的三种方式

不管是哪一个,三个都是PHP超全局(没有范围限制)预定义数组,表单元素的"name"属性的值作为数组的下标,而value属性对应的值就是数组的元素值。
$_GET 接收GET方式提交的数据
$_POST 接收POST方式提交的数据
$_REQUEST 接收POST或者GET提交的所有数据
1)$_REQUEST所存储数据的内容:将$_POST 和$_GET合并存储到一个数组
2)$_REQUEST$_GET的联系:如果GET和POST中有同名数组元素(下标),POST会覆盖GET(PHP数组元素下标具有唯一性),这个可以在php.ini中进行,REQUEST保留了username值是属于post提交,说明POST覆盖了GET

在这里插入图片描述
GET请求可以在浏览器搜索框内直接输入"?属性名=属性值"

4.PHP处理复选框数据

复选框:通常是将一类内容以同样(同名)的形式传递给后台,数据库通常是一个字段存储

来,做一个复选框↓↓↓

一定要用相对路径!!!

相对路径从当前打开的页面出发,从左往右书写:
“…/”是返回上级目录,有几个上级目录就写几个"…/",返回上级目录后再往下按绝对路径书写方式书写""

在这里插入图片描述

1.在浏览器,checkbox的name属性的值都会被浏览器提交
2.在PHP中,$_POST或者$_GET都会对同名"name"属性进行覆盖
解决方案:浏览器不识别[](浏览器不认为有特殊性),但是PHP认为[]有特殊性:系统自动认为该符号是数组的形式,所以PHP就会自动地将同名的但是带有[]的元素组合到一起形成一个数组

在这里插入图片描述

5.复选框数据接收形式

php会自动组合同名元素的伪数组
来个项目实战↓↓↓
要求:把此已经写好的html的登录页面中,用户提交的信息通过后台匹配,输出正确与否。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>FormStudy1</title>
</head>
<body>
    <form method="post" action="../php/study2.php">
        <div>
            <span>注册&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</span> <input id="name" type="text" name="username"><br>
            <span>密码&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</span> <input id="ps" type="password" name="userpw1"><br>
            <span>确认密码</span> <input id="ps1" type="password" name="userpw2"><br>
            <button class="subline" @click="subline" style="width: 100px;height: 50px;color: #d44c4f;font-family: 华文彩云;font-size: 30px;">提交</button>
        </div>
    </form>
</body>
</html>

在这里插入图片描述
结果

<?php
header('Content-type:text/html;charset=utf-8');
//print_r($_POST);
if($_POST['userpw1']==$_POST['userpw2']){
    print_r('密码正确~');
}else{
    print_r('密码错误~');
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值