1、location.href=‘http://www.xxx.com/‘;2、location.replace(‘http://www.xxx.com/‘);phpstudy运用在后端------服务器:提供服务的机器------通过域名访问 ?给电脑配服务器静态页面就是数据不变数据变化:动态网页 ?服务器作了什么:1.接受用户请求2.根据用户请求执行相应业务处理3.将处理返回ajax:发送请求响应结果http:服务端的通讯协议https: 更安全bs ??浏览器服务器cs ??客户端服务器端口 3306 数据库 ?80 ???wed服务DNS:1.接收用户输入的域名2.查询域名所对应的ip地址3.返回ipDNS 翻译hosts文件 相当于DNSC:\Windows\System32\drivers\etcPHP是什么?超文本预处理端口:计算机本身是一个封闭的环境,就像是一个大楼,如果需要有数据通信往来,必须有门,这个门在术语中就叫端口,每一个端口都有一个编号,每台计算机只有 65536 个端口(0-65535)<?php// echo 是 PHP 中的一个特殊的“指令”,// 不一定需要像函数那样通过 `()` 去使用// 注意:echo 后面紧跟着一个空格echo ‘hello php‘;echo ‘hello‘, ‘world‘;// => `helloworld`<?php// print 与 echo 唯一区别就是只能有一个参数print ‘hello php‘;// print ‘hello‘, ‘world‘;// => Parse error: syntax error ...<?php// var_dump 是一个函数,必须跟上 () 调用// 可以将数据以及数据的类型打印为特定格式var_dump(‘hello php‘);// => ‘string(9) "hello php"数据类型:- string(字符串) **- integer(整型)—— 只能存整数- float(浮点型)—— 可以存带小数位的数字- boolean(布尔型)- array(数组) **- object(对象)- NULL(空)判断数据类型:- is_string():判断当前变量是否是字符串类型- is_bool():判断当前变量是否是布尔类型- is_int():判断当前变量是否是整形类型- is_float():判断当前变量是否是浮点类型- is_array():判断当前变量是否是数组类型- is_object():判断当前变量是否是对象类型pre 格式化 ??后里面写空格就有空格$globals ??改变全局变量作用域- $GLOBALS — 引用全局作用域中可用的全部变量- $_SERVER — 获取服务端相关信息- $_REQUEST — 获取提交参数- $_POST — 获取 POST 提交参数- $_GET — 获取 GET 提交参数- $_FILES — 获取上传文件- $_ENV — 操作环境变量- $_COOKIE — 操作 Cookie- $_SESSION — 操作 Session;开启扩展路径ext,ext是PHP程序的插件目录,修改成绝对路径extension_dir = "G:/phpstudy/php/php-7.1.14/ext" // +只能是算术运算符,系统会自动的将+两边的变量转换为数组, ???//如果可以转换,就进行转换,否则返回这个数据类型的默认值 ?????//int >0 object > null bool>false float:0.0 ???// 在php中字符串连接符使用. ???// 算术运算符: + - * 、 % ++ -- ???// 赋值运算符:= += -= *= /= ???// 逻辑运算符:! && || ???// 比较运算符:> >= < <= == === != ???// 三元运算符:a>b ? "" : ""get:一般用来获取数据,参数会在url地址栏拼接post:一般用来发送数据到服务器----------accept=".jpg,.png"文件类型-----------------------<form action="<?php echo $_SERVER["PHP_SELF"] ?>" method="post" enctype="multipart/form-data"> ??????文件上传: <input type="file" name="myfile" id="" accept=".jpg,.png"> ???????????????<input type="submit"> ???</form>----------------------------------------------------------trim()去除前后的空格--------------------------上传-------------------------------------- ?<!-- 1.在php中,上传文件的请求方式必须是post --> ???<!-- 2.在上传的时候必须在表单设置enctype属性 ???????application/x-www-form-urlencoded:将参数编码为键值对的格式,这是标准的编码格式(UTF-8 GBK GB2312),它用来处理字符串,它是默认的编码格式 ???????multipart/form-data:它是专门用来处理特殊数据的,如文件 ???-->---------------------------------------------------------------------Array ???????( ???????????[myfile] => Array ???????????????( ???????????????????[name] => 跨域攻击.png:源文件的名称 ???????????????????[type] => image/png:源文件的类型 ???????????????????[tmp_name] => C:\Windows\phpE412.tmp:这是文件在服务器的临时路径 ???????????????????[error] => 0:错误信息,0代表没有错误 ???????????????????[size] => 256436:文件的大小 ???????????????) ???????) *///(1)strpos(源字符串,搜索字符串):可以获取指定字符串在源字符串中第一次出现的索引值,索引从0开始//(2)strrchr(源字符串,指定搜索的字符)- ???<form action="<?php echo $_SERVER[‘PHP_SELF‘] ?>" method="post" enctype="multipart/form-data"> ???????文件选择:<input type="file" name="myfile"><br> ???????<input type="submit"> ???</form>GET方式提交数据的特点:get方式在url后面拼接参数,只能以文本的形式传递数据传递的数据量小,4KB左右(不同浏览器会有差异)安全性低,会将数据显示在地址栏速度快,通常用于对安全性要求不高的请求特点1-post 方式 安全性比较高2-传递数据量大,请求对数据长度没有要求3-请求不会被缓存,也不会保留在浏览器历史记录中用于:密码等安全性要求比较高的场合,提交的数据量比较大:发布文章,上传文件。POST方式提交数据上限默认为8M(可以在PHP的配置文件post_max_size选项中修改)<!-- $_SERVER["PHP_SELF"] 表示当前处理页面的名字-->implode:字符串分割//使用move_uploaded_file函数来实现文件的移动,否则文件在程序结束后会被自动的删除//move_uploaded_file(源文件的全路径,目标文件的全路径)出现乱码解决代码:header(‘content-type:text/html;charset=utf8‘);<?phpif ($_SERVER[‘REQUEST_METHOD‘] === ‘POST‘) { ?// 表单提交请求}超全局变量:无法访问函数中的变量; ?$GLOBALS时间区php-ini >date.timezone = PRC|Asia/shanghai|Asia/chongqin -------------------------------------------------------------------1.php标记 ???<?php ??????????1.写在这个结构内的代码才会以php语法解析 ???????2.写在这个结构外的代码会原样返回 ????>2.输出内容的方式 ???echo:输出一个或者多个字符串 ???print 或者 print():输出一个字符串值 ???print_r():可以输出复杂数据类型,如数组,以键值对的形式输出 ???var_dump():可以输出复杂数据类型,如数组,以键值对的形式输出,还可以输出数据的长度3.字符串 ???‘‘:不能解析变量,会将变量当成普通字符串处理 ?\\ \‘ ???"":能解析变量 \" \t \n \r \$4.数组: ???创建方式: ???????$arr = array() ???????$arr = [] ???????$arr[] = value; //如果数组不存在则可以自动的创建一个数组,并将当前值添加到数组中,如果存在则添加数据到数组 ???数组的类型: ???????索引数组:不人为设置key $arr = array(1,2,3,4); ???????关联数组:人为设置key和value ?$arr = array("name"=>"jack") ???????混合数组:$arr= array(1,2,3,"name"=>"jack",4) ???????二维数组:数据的值本身又是一个数组 ???????????$arr = array( ???????????????array( ???????????????????"name"=>"jack", ???????????????????"age"=>20 ???????????????), ???????????????array() ???????????); ???数组遍历:for ?| foreach ???for($i =0;$i<count(数组);$i++){ ???} ???foreach(需要遍历的数组对象 as $key => $value){ ???} ???foreach(需要遍历的数组对象 as $value){ ???}5.变量作用域:函数内部默认不能使用函数外部所声明的成员,如果想使用,则: ???1.使用global关键字 ???2.使用超全局变量$GLOBALS6.常量的定义和使用: ???define(名称,值,false)全大写7.载入其它文件:文件包含 ???include:如果载入失败,不会报错,后续代码会继续执行,它可以重复载入 ???include_once:如果载入失败,不会报错,后续代码会继续执行,它不会重复载入,只会真正的载入一次 ???require:如果载入失败,会报错,后续代码不会继续执行,它可以重复载入 ???require_once:如果载入失败,会报错,后续代码不会继续执行,它不可以重复载入8.常用API ???文件操作: ???????file_get_contents:可以读取文件内容并返回 ???????file_put_contents(文件路径,写入的内容,FILE_APPEND):可以将指定的字符串内容写入到文件,其中第三个参数FILE_APPEND可以实现文件内容的追加9.html混编 ???1.在<?php 在这个结构内部只能写符合php语法的代码 ?> ???2.在<?php ??>结构的代码会原样输出 ???3.混编实现方式 ???????1.<?php echo ‘<p></p>‘ ?> ???????2. ???????????<?php ?if(){ ?> ???????????????<p></p> ???????????<php }?>----------------------------------------------------------php.ini上传音乐 ?upload_max_filesize = 500M ?更改<audio>标签,作用:播放音乐 ???????????????????????????????src:添加音频文件路径 ???????????????????????????????controls ?出现控制播放的控制面板, ???????????????????????????????autoplay ?自动播放 请求行请求头空行请求体记住:使用session一定要加上session_start()//一小时过期setcookie("uName","admin",time()+ 3600)//永久性COOKIEsetcookie("password","123",PHP_INT_MAX);//setcookie("username","jack",PHP_INT_MAX,"/day5/down");-----------增加删除和修改是返回受影响的行数--------------查询语句的语法:select *|字段列表 from 表列表 ?where ?条件*代表当前表的所有字段数据库操作:select from ???表名 ???where ???条件 ???----查询insert ???into ???表名 ???values ???条件 ???----新增update ???????表名 ???set ???条件 ???----修改delete from ???表名 ???where ???条件 ???----删除-- 查询mytalbe中的所有数据SELECT * FROM mydase-- 查询mytalbe中的所有数据SELECT * FROM mydase-- 查询ID ?not>! ?and>&& ?or>||SELECT id,NAME FROM mydaseSELECT * FROM mydase where id =4SELECT * FROM mydase where age<20SELECT * from mydase where age>=20 AND gender =1-- 增加insert into ?mydase values (null,‘lili‘,13,2010-12-1,0,17615848307)INSERT INTO mydase(age,gender) VALUE (40,1)-- 修改语句UPDATE mydase SET age = age +10 WHERE id = 2update mydase set age = age +20 where id = 5-- 删除语句delete from mydase where id = 6delete from mydase where id in (4,5)select ???count ???---数数总计select ???min ???---最小值select ???max ???---最大值select ???avg ???---平均值判断用户是否提交 ?if($_SERVER["REQUEST_METHOD"]==="POST"){ ???login(); ?}步骤分析:1、判断请求是否是POST ?$_SERVER[‘REQUEST_METHOD’]==’POST’2、校验表单数据是否为空或者不存,如果不存在就将该表单的name存入数组中3、点击提交判断没有输入值就显示警告步骤分析: ?list.php1、读取文件获取json字符串2、将json字符串转换成php数组3、遍历数组将数据渲染到页面上步骤分析:1、将选中的文件存储为永久文件2、读取music.json中的数据(1)将数据转换成数据数组 ?json.decode(2)获取表单输入的值存放至数据数组中3、将数据数组转换成字符串 ?json.encode 写入music.json中4、添加成功后页面跳转至list.php链接库:header(‘content-type:text/html;charset=utf-8‘);mysqli_set_charset($conn,"utf8"); ???// 连接成功,那么就可以创建sql语句,执行相关操作 ???// 1.新增数据:在执行新增语句的时候,mysqli_query的返回值:如果成功则返回true,否则返回false ???// 2.修改操作: ???// 3.删除操作1.创建连接--建立连接 ???$conn = mysqli_connect(主机或IP地址,用户名,密码,数据库名称); ???如果连接成功,就返回一个连接对象(资源),如果连接失败,返回false2.设置编码:主要是解决浏览器出现乱码的问题 ???1.服务器端的编码和php的编码不一致:mysqli_set_charset($conn,"utf8") | mysqli_query($conn,"set names utf-8") ???2.php的编码和浏览器端的编码不一致:header("Content-Type:text/html;charset=utf-8")3.创建sql语句 ???1.新增:数值如果是字符串类型,一定要使用引号包含.如果数据没有使用引号包含,有可能会有错 ???????"insert into temp value(‘张三‘)" ???2.删除和修改一定需要考虑是否有条件4.执行sql语句 ???1.增加删除和修改:如果成功则返回true,否则返回false ???2.查询: ???????查询失败:false ???????查询成功但是没有数据行:mysqli_num_rows(资源对象--引用) ???????查询成功也有数据行:读取数据 ???3.使用mysqli_query($conn,$sql)5.接收返回值 ???增加删除和修改:true/false ????查询有结果集同时有数据 ???????mysqli_fetch_array(查询结果集):每次读取一行数据,生成数组,里面包含两种形式的数据(索引数组,关联数组) ???????mysqli_fetch_assoc:每次读取一行数据,生成数组,里面只包含关联数组 ???????mysqli_fetch_row:每次读取一行数据,生成数组,里面只包含索引数组 ???循环读取: ???????while($row = mysqli_fetch_assoc(结果集)){ ???????????$arr[] = $row; ???????}6. 释放资源:及时的关闭连接对象,释放资源:什么时候释放:当与mysql相关的操作执行完毕之后就立刻释放 ???mysqli_close($conn);<?php ????header("Content-Type:text/html;charset=utf-8"); ??$coon = mysqli_connect("localhost","root","root","mydase"); ??mysqli_set_charset($coon,"utf8"); ??if(!$coon){ ??????//echo ‘连接失败‘; ??????die("连接失败"); ??}else{ ??????echo "连接成功"; ??}?>获取计算机相隔现在时间$time1=strtotime();现在时间$time2 = time(); //合并单元格 ?????????????//colspan ?横向合并 跨列 ?????????????//rowspan ?纵向合并 跨行200 OK请求已成功,请求所希望的响应头或数据体将随此响应返回。出现此状态码是表示正常状态。403 请求被拒绝404 ?服务器没有这个页面extension_dir ?开启 配置文件mysqli ????????开启 配置文件 ???==========================================================//连接库$conn=mysqli_connect(DB_HOST,DB_USER,DB_PWD,DB_NAME);//设置sql语句 $sql="SELECT p.id,p.title,p.feature,p.created,p.content,p.views,p.likes,c.`name`,u.`nickname`, ???(SELECT COUNT(id) FROM comments WHERE comments.post_id=p.`id`) AS ?commentCount ???FROM posts p ???LEFT JOIN ?categories c ON ?c.`id`=p.`category_id` ???LEFT JOIN ?users u ON ?u.`id`=p.`user_id` ???WHERE p.`category_id`={$categoryId} ???LIMIT 20";//执行sql语句 ???$result=mysqli_query($conn,$sql);//结果集 ?header("Content-Type:text/html;charset=utf-8");//拿到数据 ?$postarr=[]; ?while($row=mysqli_fetch_assoc($result)){ ???$postarr[]=$row; ?} header("Content-Type:application/json;charset=utf-8"); ????echo ?json_encode($response);从数据库获取内容并转换成JSON格式的内容
php
原文地址:https://www.cnblogs.com/tuziling/p/10074452.html