PHP后台
一:基本语法
1.php文件名: “xxx.php”
语法:<?php (在里面写入内容) ?>
2.中文转换:header(‘cotent-type:text/html;charset=utf-8’)
3.php注释:①: // ②: # ③: /* */
4.执行语句:echo ==(console.log())
àecho”Hello World”;
5.php变量:1.变量以 $ 开头 à $color = ‘red’;
2.变量的名称必须以字母或者下划线开头;
3.变量的名称不能以数字开头
4.变量名称智能包含字母,数字,字符和下划线
5.变量的名称对大小写敏感
作用域:local 局部变量 global 全局变量 static 静态
函数之外声明的变量拥有Global 作用,只能在函数以外进行访问
函数内部声明的变量拥有local作用,只能函数内部进行访问
Global:<?php
$x = 5; $y= 10;
function myTest ( ) {
global $x,$y;
$y = $x+$y
} myTest() // 执行函数
Echo $y == 15
?>
Static:<?php
function myTest ( ){
static $x = 0;
echo $x; x++;
} // 分别调用三次函数
1.myTest( ) 2.myTest( ) 3.myTest( )
echo=> 0 1 2;
?>
6.php浮点数:浮点数是有小数点或者指数形式的数字
var_dump( ) 返回变量的数据类型和值
7.php逻辑:逻辑 true 和 false
$x =ture $y = false // 用于条件的判断
8.php数组:数组在一个变量中储存多个值
$arr =array(‘name’,’age’,’sex’)
var_dump($arr)输出:
array(3){[0]=>string(4)’’name’,[1]=>string(3)’age’,[2]=>string(3)’sex’}
echo[0] 可以取出下标为0的值
数组长度:echo count($arr)
9.php对象:对象是储存数据和有关如何处理数据的信息和数据类型
10.php字符串函数:
strlen()函数:echo strlen(‘Hello world’) // 12个字符(空格也算)
strops()函数:echo strops(‘Hello world’ , ‘world’) // 查找字符的位置
11.php for循环:
for($x=0;$x<=10;$x++){
echo “数字是:$x”
}----0 1 2 3 4 5 6 7 8 9 10
foreach循环:
$colors = array(‘red’,’green’,’blue’,’yellow’)
foreach($colors as $value ){
echo “$value”
} red green blue yellow
12.php函数:语法:function name ( ){ //执行代码 }
跟JS中用法一样
二:php用法:+异步请求
1.模拟用户名的注册 (了解)
HTML:<h1>模拟用户名的注册</h1>
<inputtype=’text’ placeholder=‘请输入用户名’ id=’name’ />
JS: document.getElementById(‘name’).onblur = function(){
var ajaxObj = new XMLHttpRequest( );
ajaxObj.open(‘get’, ‘1.php?username=’+this.value)
ajaxObj.send();
ajaxObj.onreadystatechange= function( ) {
if(ajaxObj.readyState ==4 && ajaxObj.status==200){
console.log(ajaxObj.responseText);
if(ajaxObj.responseText==’have’){alert(‘用户存在’)}
else{alert(‘用户不存在可以注册’)}
}
}
}
PHP:----1.php
$name= $_GET[‘username’] // php接受前台异步数据
$nameArr=array(‘xxx’,’xxx’,’xxx’,’xxx’) //模拟数据库(名字)
// 用in_array 去进行遍历, 第一个参数前台数据,第二个参数
数组(模拟的数组),返回值为true 跟false
$result =in_array($name,$nameArr)
if($ result){echo “have”}else{echo ‘not_have’}
总结:主要是了解 php怎么去获取前台数据,并且怎么去返回数据到前台的。
2.通过PHP读取文本内容:
<inputtype=’button’ value=’请求数据’ id=’btn’/>
Js:document.getElementById(‘btn’).onclick = function(){
var ajax = new XMLHttpRequest( );
ajax.open(‘get’ , ‘ajax_File.php’)
ajax.send( ) ;
ajax.onreadystatechange=function(){
if(ajax.readyState==4 && ajax.status==200){
console.log(ajax.responseText) }
}
}
1----text: text内容(如果不努力永远不知道自己有多废物)
Php:each file_get_contents(‘info/news.text) // 文本路径
2----xml:xml内容+格式:
<?xml version=’1.0’ encoding=’UFT-8’ ?>
<person>
<name>xxx</name>
<skill>xxx</skill>
</person> // 所有的标签都是自定义的
Php:header('content-type:text/xml;charset=’utf-8’ ’ )
echo file_get_contents( ‘info/person.xml’);
总结:xml需要改变php头部内容,才能读取xml内容。xml内容为自定义标签。
3.模板:
引入模板JS fox_template(了解)
<script type=’text/javescript’ src=’js/fox_template.js’></script>
<script type=’text/template’ id=’template’ >
<ul>
<li>{{name}}</li>
<li>{{hoddy}}</li>
</ul>
</script>
<script type=’text/javascript’>
var temDom = document.querySelector(‘#template’)//获取模板
varstr = temDom.innerHTML //接受模板内容
varobj = {name:’柯南’ , hobby:’背后的真想只有一个’ }
//替换元素,第一个参数是模板内容,第二个参数是元素对象
varresult = fox_template_pro(str , obj)
//将替换字符串添加到body里面
document.body.innerHTML= result ;
总结:我们使用一个JQ模板库,将我们自定义的模板渲染到页面
4.数据库
http:127.0.0.1/phpmyadmin
-----创建数据库:
// 创建数据库,如果数据中有这个名字(自定义的名字)就删除。
DROP DATABASE IF EXISTS (自定义数据库名字)
// 创建一个数据库(自定义的名字),并且为中文。
CREATE DATABASE (自定义) CHARSET=UFT8;
//创建一个表格,名字为text表明
CREATE TABLE text à(自定义的表名) (
PNO(自定义的ID) INT
PNAME(自定义name) VARCHAR(128)
PIC VARCHAR(128)
ADDED_DATE(时间) DATE
DETAILS(内容) VARCHAR(255)
PRIMARY KEY(PNO) // 定义pno(id)唯一不能重复
)
// 插入数据:
INSERT INTO text (PNO,PNAME,PIC,ADDED_DATE,DETAILS),
VALUES(1,’小米’,‘xxx’,’2017-5-28’,’xxx’)
-----俩个表格的连接
//在创建一个表格
CREATE TABLE text2 (
UNO INT
UNAME VARCHAR(128)
UPWD VARCHAR(32)
HEAD_PIC VARCHAR(128)
LEVEL VARCHAR(16)
LOC VARCHAR(64)
PRIMARY KEY(UNO) // 定义uno(id)唯一不能重复
)
----连接俩个表格:
CREATE TABLE text2(总) (
CNO INT //当前表格ID
PNO INT // text 表格ID
UNO INT // text1表格的ID
COMMENT_TIME DATETIME
CONTENT VARCHAR(255)
PRIMARY KEY (CNO)
)
插入数据: INSERT INTO text2 ------à
(CNO,PNO,UNO,COMMENT_TIME,CONTENT)
总结:这是以 .sql 为结尾的文本 ,然后上传到我们的数据库,就形成了我们的数据库 。 我们可以在php后台直接 曾删改查
PHP-------à-----数据库------à------PHP:案例:
//连接数据库,(固定写法)
$con = mysqli_connect(‘localhost’, ‘root’, ‘ ’ , ’text’ (数据库的名字));
//判断是否连接成功
if(!mysqli_connect_errno($con)){
echo ‘成功连接数据库’
mysqli_query($con,’SETNAMES UTF8’) // sql设置成中文
曾:
$sql_insert= ‘INSERT INTO (table名字) VALUES (‘xx’,’xx’,’xx’,’xx’)
$result =mysqli_query($con , $sql_insert) //参数一数据库 参数二:
固定
删:
// where 后面是数据中属性是uname=‘xx’的删除
$sql_delete=’DELETE FROM (table 名字) WHERE uname=’xxx’ ’’;
$result =mysqli_query($con , $sql_delete)
改:
// 将‘我喜欢你’改成‘我爱你’
$sql_update= ‘UPDATE (table名字) SET uname=’ 我喜欢你’ WHERE uname=’ 我爱你’ ’’;
$result =mysqli_query($con , $sql_update)
查:
// 从uname leve upwd中查找 ‘梦想’
$sql_select= “SELECT uname,leve,upwd FROM (表单名) WHERE leve=‘梦想’”
$result =mysqli_query($con , $sql_select)
//检测是否查询成功
If(mysqli_affected_rows($con)){
$result_arr= [ ] // 声明一个数组
while($row = mysqli_fetch_array($result)){
$row = JSON_encode($row) //将数组转成对象
array——push ($result_arr,$row) //统一加载到数组
// 返回前端数据
echo json_encode([‘data’ => $result_arr])
}else{‘查询失败’}
} else{ echo ‘失败’ }
}
注释:可以在 曾删改查最后都加上判断是否成功
If($result) { echo ‘曾 删 改 查 ’ + “成功”}
Else{ echo “失败”}