/*
网站或者APP开发
+ 都是由两部分组成
= > 前端,使用html、css、js完成网页相关的一些功能,给用户进行界面的展示
= > 后端,和服务器还有数据库相关,网站或者APP都是放在服务器上面的,要不然别人访问不了的。前端的数据不是固定的,
都是后端传递给咱们的
+ 前后端交换
= > 在实际开发中会经常涉及到数据传递问题,不可能直接告诉后端,兄弟,你把数据直接发我微信或者QQ吧!所以作为优秀前端
工程师必须要了解后端操作流程,这样便于开展开发工作
= > 前端必须要掌握一门后端语言,所以今天要学习php,原因是语言简单,方便进行实战开发
= > 学习php主要是为了了解前后端交换流程,所以涉及到的语言语法只需要你能看懂即可
+ 网站使用过程
= > 要有一个网站
= > 前端开发页面、后端准备数据、前后端结合
= > 放在服务器上面,用户可以访问了,通过浏览器,在地址栏,http协议
= > http协议,超文本传输协议,规定了咱们是如何通过一个地址访问网站的
服务器
+ 网站都是放在服务器上面的,前后端交换,需要前端向服务器获取数据,现在没有服务器
+ 买一个服务器放在家里使用、虚拟云主机(花钱)、出现了一种免费的服务器软件
+ 服务器软件,作用是把咱们自己的电脑通过软件模拟成具有服务器功能
服务器软件phpStudy
+ 帮助咱们开启服务器
+ mysql,数据库
+ phpStudy软件其实就是给咱们前后模拟了一个后端开发环境
+ 后端开发语言,学习php
= > php不会讲太多,只会讲一些基本操作,让咱们理解前后端环境到底是怎么回事儿
= > php语言还有操作数据库的mysql语句,你们只需要会看懂能复制黏贴即可
后端开发注意事项
+ 目录路径绝对不能出现中文命名,软件安装也不要安装中文命名文件夹下
+ 运行php文件,也不能出现中文命名
+ 所有的php文件需要放在phpStudy软件的根目录下(www),才能去访问
= > 地址:localhost 127.0 .0.1 访问到www目录下的文件
域名
+ 域名只是ip地址的一个方便的简写形式
+ 当咱们在url地址栏里面输入域名的时候,浏览器会通过DNS(域名系统)去把域名解析成ip地址
phpStudy软件
+ 数据库mysql默认密码和用户名都是是root
+ 不需要自己去修改,如果你修改了,必须记住
*/
< ?php
//php语言环境基本结构
/*
php注释:
+ 单行注释 //
+ 多行注释 /星(*)星/
注意点:
+ php代码必须放在基本结构里面,才会被服务器解析
+ php一条代码语句完毕后必须加分号作为结束标识
*/
//php语言输出方式
//echo 'hello php' ;
//php语言要识别中文,必须设置头部结构,解决中文乱码
header( 'content-type:text/html; charset=utf-8' ) ;
echo 'hello 美女!' ;
?>
//声明变量,使用$符号
$name = '柯真红' ;
$age = 18 ;
//输出变量
//php字符串拼接,使用点( .) 进行拼接
// echo '他叫:' . $name . ' 今年:' . $age ;
//注意点:php里面单引号是不能解析变量的,双引号可以解析变量
echo "他叫$name " ;
//数值类型
$num = 10 ;
//字符串
$price = '¥999' ;
//布尔类型
$bool = true ;
echo $num . '<br/>' ;
//函数
//注意点:php里面不区分大小写,函数命名不区分,变量要区分
function f( $a ) {
echo 'hello' ;
}
F( 10 )
// function fn( $a )
// {
// echo 'hello' ;
// }
// fn( 10 )
// $name = '呵呵' ;
// echo $name . '<br/>' ;
//索引数组
//$arr = array( '张三' , 18 , '篮球好' ) ;
//输出数组
//print_r( $arr [ 0 ] .'<br/>' ) ;
//print_r( $arr [ 1 ] .'<br/>' ) ;
//可以输出完整数据结构,包含长度、数据类型等等
//var_dump( $arr ) ;
//count表示数组长度
//echo count( $arr ) ;
//关联数组
//$arr2 = array( 'name' = > '柯真宏' , 'age' = > 18 ) ;
// print_r( $arr2 ) ;
//print_r( $arr2 [ 'name' ] ) ;
//数组简化形式
// $arr3 = [ 'name' = > '嘿嘿' ] ;
// print_r( $arr3 ) ;
//二维数组
//状态码,200一般表示成功
//状态码,404一般表示路径错误
$arr = array( 'code' = > 200 , 'body' = > array(
'msg' = > '登陆成功'
))
header( 'content-type:text/html; charset=utf-8' ) ;
//判断结构
$isMarried = false ;
if( $isMarried ) {
echo '他已经结婚了,你没有机会了!' ;
} else{
echo '恭喜你,可以找他了!' ;
}
header( 'content-type:text/html; charset=utf-8' ) ;
//$arr = array( '柯真宏' , '段香兰' , '冯坤洪' ) ;
// for( $i = 0 ; $i < count( $arr ) ; $i ++) {
// echo $i ;
// //$arr [ $i ]
// }
$arr2 = array( 'name' = > '嘿嘿' , 'age' = > 18 ) ;
// for( $i = 0 ; $i < count( $arr2 ) ; $i ++) {
// print_r( $arr2 [ $i ] ) ;
// }
//注意点:使用for遍历索引数组,使用foreach遍历关联数组
foreach( $arr2 as $key = > $value ) {
echo $key . '<br/>' ;
echo $value . '<br/>' ;
}
header( 'content-type:text/html; charset=utf-8' ) ;
//前端传递给后端的是json,后端需要把json转成自己能解析的代码
$data = '["柯真宏", 18, "未知的小姐姐"]' ;
// echo $data ;
//把json转成php数组形式
$res = json_decode( $data ) ;
print_r( $res ) ;
//后端写的数据,使用的是数组形式,前端不识别的,所以需要转成json格式
// $arr = array( 'code' = > 200 , 'body' = > array(
// 'msg' = > '登陆成功'
// )) ;
// // //注意点:给前端返回数据必须使用echo进行展示
// $res = json_encode( $arr ) ;
// echo $res ;
//设置字符编码
header( 'content-type:text/html; charset=utf-8' ) ;
//链接数据库
//值1表示地址 localhost 127.0 .0.1
//值2表示用户名和密码,使用默认的root即可,如果你修改了,这里也需要修改
$link = mysqli_connect( 'localhost' , 'root' , 'root' , 'thr' ) ;
//准备mysql查询语句
$sql = 'select * from user' ;
//执行查询操作 值1表示链接信息 值2表示要执行那个操作
//返回的是一个资源类型,看不懂,需要转成自己能看懂的
$data = mysqli_query( $link , $sql ) ;
//值1表示把资源提取出来
//值2表示以数组的形式进行展示
$res = mysqli_fetch_all( $data , MYSQLI_ASSOC) ;
//print_r( $res ) ;
//把结果转成json格式
echo json_encode( $res ) ;
添加
//设置字符编码
header( 'content-type:text/html; charset=utf-8' ) ;
//链接数据库
//值1表示地址 localhost 127.0 .0.1
//值2表示用户名和密码,使用默认的root即可,如果你修改了,这里也需要修改
$link = mysqli_connect( 'localhost' , 'root' , 'root' , 'cd-h52113' ) ;
//准备mysql查询语句
//'INSERT INTO ` student` VALUES(null, "张三", 18, "男", 1913, 100)' ;
//注意点:在php里面有两种语法,第一种是mysql_query( ) 第二种是mysqli_query( ) 新语法,不需要加引号
//values( 表示自动填充null)
//注意点:咱们自己插入的数据类型要和数据库里面的保持一致
$sql = "insert into login values(null, '嘿嘿', '666')" ;
//执行查询操作 值1表示链接信息 值2表示要执行那个操作
//返回的是一个资源类型,看不懂,需要转成自己能看懂的
//注意点:插入操作不能做任何判断,只要代码没有报错说明插入是成功的
$data = mysqli_query( $link , $sql ) ;
//设置字符编码
header( 'content-type:text/html; charset=utf-8' ) ;
//链接数据库
$link = mysqli_connect( 'localhost' , 'root' , 'root' , 'cd-h52113' ) ;
//准备sql语句
//DELETE FROM student WHERE id = 100
$sql = "delete from login where id=6" ;
//执行sql语句
$res = mysqli_query( $link , $sql ) ;
if( $res ) {
echo '删除成功' ;
} else{
echo '删除失败' ;
}
//设置字符编码
header( 'content-type:text/html; charset=utf-8' ) ;
//链接数据库
$link = mysqli_connect( 'localhost' , 'root' , 'root' , 'cd-h52113' ) ;
//准备sql语句
//$sql = 'UPDATE student SET name="张三", age=10 WHERE id=100'
$sql = "update login set username='柯真宏的女朋友', password=123 where id=4" ;
//执行sql语句
$res = mysqli_query( $link , $sql ) ;
if( $res ) {
echo '修改成功' ;
} else{
echo '修改失败' ;
}
//设置字符编码
header( 'content-type:text/html; charset=utf-8' ) ;
//链接数据库
//值1表示地址 localhost 127.0 .0.1
//值2表示用户名和密码,使用默认的root即可,如果你修改了,这里也需要修改
$link = mysqli_connect( 'localhost' , 'root' , 'root' , 'cd-h52113' ) ;
//准备mysql查询语句
//$sql = 'select * from student' ;
//$sql = 'SELECT * FROM student WHERE gender="男"' ;
//$sql = 'SELECT * FROM student WHERE age>18' ;
//$sql = 'SELECT * FROM student LIMIT 0, 10' ;
$pm = 'DESC' ;
$sql = "SELECT * FROM list ORDER BY price $pm " ;
//模糊查询
//$sql = 'SELECT * FROM list WHERE des LIKE "%旗%"' ;
//执行查询操作 值1表示链接信息 值2表示要执行那个操作
//返回的是一个资源类型,看不懂,需要转成自己能看懂的
$data = mysqli_query( $link , $sql ) ;
//值1表示把资源提取出来
//值2表示以数组的形式进行展示
$res = mysqli_fetch_all( $data , MYSQLI_ASSOC) ;
//print_r( $res ) ;
//把结果转成json格式
echo json_encode( $res ) ;
< ! DOCTYPE html>
< html lang = "en" >
< head>
< meta charset = "UTF-8" >
< meta http-equiv= "X-UA-Compatible" content = "IE=edge" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< title> Document< /title>
< /head>
< body>
< ! --前端页面,怎么把前端数据传递给后端呢?通过form表单的action属性提交-->
< ! --后端地址(接口)-->
< form action = "15-data.php" method = "post" >
< input type = "text" name = "username" >
< input type = "password" name = "password" >
< input type = "submit" >
< /form>
< /body>
< /html>
< ?php
//设置字符编码
header( 'content-type:text/html; charset=utf-8' ) ;
//链接数据库
//值1表示地址 localhost 127.0 .0.1
//值2表示用户名和密码,使用默认的root即可,如果你修改了,这里也需要修改
$link = mysqli_connect( 'localhost' , 'root' , 'root' , 'cd-h52113' ) ;
//用于接收前端传递过来的数据
// $user = $_GET [ 'username' ] ;
// $pass = $_GET [ 'password' ] ;
$user = $_POST [ 'username' ] ;
$pass = $_POST [ 'password' ] ;
// echo $user . '<br/>' ;
// echo $pass ;
//准备mysql查询语句
$sql = "select * from login where username='$user ' and password='$pass '" ;
//执行查询操作 值1表示链接信息 值2表示要执行那个操作
//返回的是一个资源类型,看不懂,需要转成自己能看懂的
$data = mysqli_query( $link , $sql ) ;
//值1表示把资源提取出来
//值2表示以数组的形式进行展示
$res = mysqli_fetch_all( $data , MYSQLI_ASSOC) ;
if( count( $res )) {
echo json_encode( array( 'code' = > 200 , 'body' = > array(
'msg' = > '登陆成功'
)) ) ;
} else{
echo json_encode( array( 'code' = > 201 , 'body' = > array(
'msg' = > '用户名或者密码错误'
)) ) ;
}
?>