01HTTP服务&AJAX编程
HTTP服务&AJAX编程
一、服务器
1. 什么是服务器?
能够提供某种服务的机器(计算机)称为服务器。
2.服务器的分类:
2.按应用软件:appache IIS tomcat
3.按使用场景:web(http)服务器 数据库服务器 邮件服务器
二、网络基础
1.IP地址
查看本机IP地址 ping、ipconfig、ifconfig
2.域名
域名:IP的面具,为了让用户更容易找到网站
查看域名对应的IP地址 ping
3.DNS服务
DNS服务器:将域名返回给浏览器(其中存储域名-IP信息)
查找优先级 本机hosts文件、DNS服务器
ipconfig /flushdns
4.端口
查看端口占用情况 netstat -an
常见端口号 80、8080、3306、21、22
三、C/S和B/S
1.CS:client(客户端)/server(服务器)
缺点:使用对应的功能,必须下载对应的客户端
如果服务更新了,客户端一般也需要更新
2.BS:B(browser)/server(服务器)
缺点:性能不太好,运算性能不好
效果不够酷炫
四、搭建HTTP服务
Windows + Apache + Mysql + PHP,首字母组合。
1. 安装WampServer
安装wampserver,和普通软件安装无差别,除指定安装路径外,其它默认安装。

2.管理HTTP服务
任务图标绿色为正常启动状态
注意事项:
1、检查网络是不是通的 ping 对方IP
2、检查防火墙是否开启,如果开启将不能正常被访问
3、检查访问权限 Allow from all
4、理解默认索引
5、确保端口没有被其它程序占用
6、“#”表示注释
7、修改配置要格外小心,禁止无意修改其它内容
PHP基础
写法:文件以.php后缀结尾,所有程序包含在<?php /** 这里是代码 **/ ?>
避免使用中文目录和中文文件名
五、 变量
1、变量以$开头 字母/数字/下划线 不能以数字开头
2、大小写敏感(区分大小写)

六、数据类型
字符型、整型、浮点型、布尔型、数组、对象、NULL
单引号&双引号区别
索引数组、关联数组(了解即可)
echo只能打印出来简单类型的值,null和布尔值false都会做隐式转换。
1. 内容输出
echo:输出简单数据类型,如字符串、数值
print_r():输出复杂数据类型,如数组
var_dump():输出详细信息,如对象、数组(了解)

七、运算符
基本与Javascript语法一致
. 号表示字符串拼接符,Javascript中为+号

八、 函数
与Javascript基本一致
函数名对大小写不敏感
默认参数(了解即可)
<?php//php中的函数// js方法// function sayHi(){// console.log("sayHi");// }// sayHi();function sayHi($name='zhangsan'){echo "Hello ".$name;}// sayHi('world!!'); 有参数且传参// sayHi(); 有参数不传参 解决:定义参数的时候,给参数一个默认值 当不传 默认值 传就是当前传的值sayHi('lisi');?>
九、分支、循环语句
与Javascript基本一致
foreach()
<?php// php中的分支语句// 判断语句 switch// js if(条件){}else{}// js switch(条件){ case 选项: 执行的语句; break; default: 执行的语句;break;}$married=false;$name="gaoyuanyaun";if($married){echo "那我就重新找其他明星吧";}else{echo $name." 嫁给我吧!!";}echo "<br>-----------------------<br>";$today="周二";switch($today){case"周二":echo "周二激情四射";break;case"周三":echo "周三还是激情";break;default:echo "我们来睡个觉吧!!";break;}?>
十、数组、遍历数组
<?php// js数组 var arr=new Array(); var arr=[1,2,4];// 定义php数组$arr=array(1,2,"gaoyuanyuan",3.1415926,true);//索引数组// 0 => int 1// 1 => int 2// 2 => string 'gaoyuanyuan' (length=11)// 3 => float 3.1415926// 4 => boolean true// 打印输出PHP数组echo $arr;// 问题:打出索引值 结构 值的类型 长度var_dump($arr);// 遍历php数组// js for// for(var i=0;i<arr.length;i++){// arr[i]// }// count(数组)方法 返回值是数组的长度// $leng=$arr.length;$leng=count($arr);// echo $leng;// php数组和js区别:数组没有length属性// 错误写法// for($i=0;$i<$arr.length;$i++){// echo $arr[$i];// }// 正确的for($i=0;$i<$leng;$i++){echo $arr[$i].',';}echo "<br>-------------<br>";// 在js中有一个数据类型 对象// var obj={// name:"zhangsan",// age:18// }$arrguanlian=array('name'=>'zhangsan','age'=>18);//关联数组// 遍历 foreach既可以遍历索引数组还可以遍历关联数组// foreach(){}// foreach(数组名 as $k=>$v){// }// 遍历关联数组foreach($arrguanlian as $k=>$v){echo $k.'-----'.$v;echo "<br>-------------<br>";}// 遍历索引数组foreach($arr as $k=>$v){echo $k.'-----'.$v;echo "<br>-------------<br>";}?>
十一、系统函数检查数组,常用的函数
count() 计算数组长度
array_key_exists ()检测数组中是否存在key
file_get_contents读取文件
<?php$arr=array('name'=>'congcong','age'=>80);// in_array(判断的值,数组) 是否在数组中 判断一个值是否在数组中 返回值是boolean true 或false$flag=in_array(80,$arr);echo $flag;//array_key_exists()检测数组中是否存在一个键 返回值是boolean true 或false$flag1=array_key_exists('name',$arr);echo $flag1;?>
十二、表单处理
表单name属性的是用来提供给服务端接收所传递数据而设置的
表单action属性设置接收数据的处理程序
表单method属性设置发送数据的方式
当上传文件是需要设置 enctype="multipart/form-data",且只能post方式
$_GET接收 get 传值
$_POST接收 post 传值
$_FILES接收文件上传

1.get方式
<!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><title>Document</title></head><body><!--1.action 代表数据提交到什么地方 服务器php --><!--2.用什么样的方式提交 get post--><!--用户名密码都应该存在一个变量中name属性的值是作为一个key来存储用户输入的信息的--><formaction="form.php"method="get"><inputtype="text"name="username"id="user"><inputtype="password"name="password"id="pass"><inputtype="submit"value="提交"></form></body></html><!--get提交数据的特点:1.数据的格式 key=value&key1=value1&key2=value2....2.数据内容会显示在地址栏中3.地址栏中的数据是长度有限的 ie浏览器规定不超过10244.get是默认的方式5.get提交方式不太安全--><!--注意:用什么样的方式提交,就要用什么样的方式接受-->
<?php//后台程序如何得到前端提交的数据// $_GET用来接收前端提交过来的数据var_dump($_GET);?>
2.post方式
<!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><title>Document</title></head><body><!--1.在html里 定义数据提交给哪个应用程序2.在html里 设置数据提交的方式3.在html里 设置input的name属性--><formaction="form-post.php"method="post"><inputtype="text"name="username"id="user"><inputtype="password"name="password"id="pass"><inputtype="submit"value="提交"></form></body></html><!--post方式的特点1.提交数据不会显示到地址栏2.数据提交格式是key=value&key1=value1&key2=value2....3.数据可以无限大(理论上)4.post提交方式相对安全-->
<?php// 1.接受前端传过来的数据// 2.返回结果var_dump($_POST);?>
十三、HTML和PHP的混写方式
<?php// html和php混合写// index.html ->index.php//注意 1.php嵌入html 需要写成php格式的文件//2.php代码要写在<?php代码?>//不必把所有的逻辑和数据写在同一标签中$arr=array('www.baidu.com','www.jd.com','www.taobao.com')?><!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><title>Document</title></head><body><h1>hello</h1><?phpfor($i=0;$i<count($arr);$i++){// 把网址通过php代码输出成a链接echo '<a href="'.$arr[$i].'">链接</a><br>';}?></body></html>

浙公网安备 33010602011771号