客户端与服务器进行交互
客户端 (三种方式)
1:地址栏
2:超链接
3:表单提交
交互就是发送请求给服务器,其实就是向服务器提交
提交有两种get
1:地址栏
2:超链接
post
表单提交可以是get
提交的话我们主要是为了发送数据给服务器。
怎么去发送数据
get 怎么去发送数据
参数在地址的后面
?username=zhangsan&age=11&sex=nan
post 怎么去发送数据.
表单提交,表单提交会自动发送数据给服务器,不用管.
服务端
获取数据
获取get 方式提交的数据
$_GET 这里面得到的值是一个数组
获取post 方式提交的数据
$_POST 这里面得到的值也是一个数组.
遍历这个数组,就可以获取到客户端的数据。
文件上传
客户端
1:表单提交
2:post 方式提交
3:必须有一个选项input type=file
4:必须有一个enctype="multipart/form-data"
服务端
$_FILES;
接收到的也是一个数组,然后我们需要从数组里面获取到对应的数据
把客户端传递的文件移动到我硬盘的某个位置.
动态输出
一个页面可以写多个<?php ?>
我在php 页面可以写其他的内容,但是这个内容必须写在php 标签外面
客户端浏览器去访问我的这个php,php 标签外面的代码浏览器按照html 的方式去
解析
<?php if(){ ?>
<?php }?>
点击一个超链接 (这个超链接叫做查询订单)
点击超链接肯定是发送一个请求给服务器的php 文件,php 里面要动态输出
订单的信息
---------------------------------------------------------------------
6.2变量
1、变量以$开头 字母/数字/下划线 不能以数字开头
2、大小写敏感(区分大小写)
6.3 数据类型
字符型、整型、浮点型、布尔型、数组、
单引号&双引号区别
索引数组、关联数组(了解即可)
6.4内容输出
echo:输出简单数据类型,如字符串、数值
print_r():输出复杂数据类型,如数组
var_dump():输出详细信息,如对象、数组(了解)
6.5 运算符
基本与Javascript语法一致
. 号表示字符串拼接符,Javascript中为+号
6.6 函数
与Javascript基本一致
函数名对大小写不敏感
默认参数(了解即可)
6.7 分支、循环语句
与Javascript基本一致
foreach()
6.8 表单处理
表单name属性的是用来提供给服务端接收所传递数据而设置的
表单action属性设置接收数据的处理程序
表单method属性设置发送数据的方式
当上传文件是需要设置 enctype="multipart/form-data",且只能post方式
$_GET接收 get 传值
$_POST接收 post 传值
$_FILES接收文件上传
6.9 常用PHP函数
in_array() 是否在数组中
count() 计算数组长度
array_key_exists ()检测数组中是否存在key
file_get_contents读取文件
...还有很多
--------------------01php-------------------------------------
header("Content-Type:text/html;charset=utf-8");
1. echo //echo php 的函数,用来向界面输出的.
2. 定义变量 每行结束之后必须写分号
3. //变量的类型:字符串 整形 浮点型 boolean 数组
4. //定义数组 遍历数组
5. //定义关联数组
$array1=array("username"=>"知马力","age"=>11);
foreach($array1 as $key=>$val){
echo $key;
echo "====";
echo $val;
echo "<br>";
}
//定义二维数组 遍历二维数组
$array2=array(
array("username"=>"饮马","age"=>"18"),
array("username"=>"dehua","age"=>"21"),
array("username"=>"yinshi","age"=>"30")
);
for($i=0;$i<count($array2);$i++){
foreach($array2[$i] as $key=>$val){
echo $key;
echo "=====";
echo $val;
}
echo "<br>";
};
6. //定义数组,输出数组
$array1=array("username"=>"bushini","age"=>18);
var_dump($array1);//输出数组
//下面是输出内容
/*array
'username' => string 'bushini' (length=7)
'age' => int 18*/
print_r($array1);//也是打印输出数组
//下面是输出内容
/*Array ( [username] => bushini [age] => 18 )*/
7. 字符串拼接
$username="leehome";
$username1="jingdong";
//php当中字符串连接使用.
echo $username.$username1;
8. //函数定义 我们可以给参数一个默认值
function doublekill($username="linxia"){
echo "nihao".$username;
};
doublekill("wobuzidao");//括号里不写值的话就用上面的默认值
9. //客户端发送一个请求过来,接收到客户端请求,给客户端一个响应
//一般都是我们向客户端输出
///file_get_contents,读取当前的内容,把这个内容转成一个字符串
$data=file_get_contents("directory.txt");
echo $data;
10. 判断数组当中是否存在某个key
$array=array("xuwei","leehome","you");
//判断数组当中是否存在某个元素
//$flag=in_array("111",$array);
$flag1=in_array("you",$array);
//1代表trye false就是没有
//echo $flag;
echo $flag1;//输出1
echo "<br/>";
//判断数组当中是否存在某个key,这个是用在关联数组当中的
$array=array("username"=>"haha","age"=>21);
$flag=array_key_exists("username",$array);
echo $flag;
-------------------02form-----------------------------
get方式发生请求以及post方式提交
请求,默认就是get</a>
01.demo.php
<?php
/*在php里面一般都是干三件事情
1:接收请求,接收数据,接收的是客户端以get方式提交的数据
2:处理请求(业务逻辑)
3:给客户端一个响应*/
//这样就可以接收到客户端传递到服务端的数据
//接收到的数据是一个数组,这个数组是一个关联数组
//我们需要知道关联数组里面的详细信息
//我们就可以使用var_dump去打印
//var_dump($_GET);
//我要获取到的是username=zhangsan
//对应的age
$username=$_GET['username'];
$age=$_GET['age'];
echo $username."<br/>".$age;
?>
02.demo.php 以post方式提交值,得到的值是一个关联数组
<?php
header("Content-Type:text/html;charset=utf-8");//响应头
//接收客户端以post提交的数据,得到的值是一个数组,是一个关联数组
var_dump($_POST);
echo $_POST['zym'];
?>
02.demo.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="02demo.php" method="post">
座右铭<input type="text" name="zym">
<input type="submit" value="post方式提交">
</form>
</body>
</html>
-------------------03login-----------------------------
登录案例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="login.php" method="post">
昵称:<input type="text" name="username"> <br/> <br/>
密码:<input type="password" name="password"> <br/> <br/>
<input type="submit" value="登录">
</form>
</body>
</html>
登录
<?php
header("Content-Type:text/html;charset=utf-8");
$username=$_POST['username'];
$password=$_POST['password'];
if($username=="chenyi" && $password=="chenyi123"){
//登录成功
echo "欢迎 欢迎 嗨呀 热烈欢迎".$username;
}else{
//登录失败
echo "干啥子哟";
}
?>
-------------------------04file--------------------------
enctype属性
enctype 属性可设置或返回用于编码表单内容的 MIME 类型。
如果表单没有 enctype 属性,那么当提交文本时的默认值是 "application/x-www-form-urlencoded"。
当 input type 是 "file" 时,值是 "multipart/form-data"。
---------------------------------------------------------------
php 当中的函数
定义函数,调用函数,php 自带的函数.
function sayHello($username="lisi"){
echo $username;
}
sayHello("zhangsan");
php 当中常见的函数
count()
in_array() 判断数组当中是否存在某个元素
array_key_exists() 判断数组当中是否存在某个key
file_get_contents() 读取文件里面的内容.
move_uploaded_file 移动上传的文件
is_uploaded_file — 判断文件是否是通过 HTTP POST 上传的 还可以移动文件
move_uploaded_file — 判断文件是否是通过 HTTP POST 上传的 还可以移动文件
本函数检查并确保由 filename 指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的)。如果文件合法,则将其移动为由 destination 指定的文件。
---------------------------------------------------------------