01HTTP服务&AJAX编程

 

HTTP服务&AJAX编程

一、服务器

        1. 什么是服务器?

     能够提供某种服务机器(计算机)称为服务器。

 2.服务器的分类:

             1.按系统分类:Linux  windows
        2.按应用软件:appache IIS  tomcat
        3.按使用场景:web(http)服务器 数据库服务器 邮件服务器
 

二、网络基础

      1.IP地址

 

 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():输出详细信息,如对象、数组(了解

 注意:中文汉字出现乱码,为编码的问题  
            //设置编码
            header("Content-Type:text/html;charset-utf-8");

七、运算符

基本与Javascript语法一致

. 号表示字符串拼接符,Javascript中为+号

 

八、 函数

与Javascript基本一致

函数名对大小写不敏感

默认参数(了解即可)

  1. <?php
  2. //php中的函数
  3. // js方法
  4. // function sayHi(){
  5. // console.log("sayHi");
  6. // }
  7. // sayHi();
  8. function sayHi($name='zhangsan'){
  9. echo "Hello ".$name;
  10. }
  11. // sayHi('world!!'); 有参数且传参
  12. // sayHi(); 有参数不传参 解决:定义参数的时候,给参数一个默认值 当不传 默认值 传就是当前传的值
  13. sayHi('lisi');
  14. ?>
 

九、分支、循环语句

与Javascript基本一致

foreach()

  1. <?php
  2. // php中的分支语句
  3. // 判断语句 switch
  4. // js if(条件){}else{}
  5. // js switch(条件){ case 选项: 执行的语句; break; default: 执行的语句;break;}
  6. $married=false;
  7. $name="gaoyuanyaun";
  8. if($married){
  9. echo "那我就重新找其他明星吧";
  10. }else{
  11. echo $name." 嫁给我吧!!";
  12. }
  13. echo "<br>-----------------------<br>";
  14. $today="周二";
  15. switch($today){
  16. case"周二":
  17. echo "周二激情四射";
  18. break;
  19. case"周三":
  20. echo "周三还是激情";
  21. break;
  22. default:
  23. echo "我们来睡个觉吧!!";
  24. break;
  25. }
  26. ?>
 

十、数组、遍历数组

  1. <?php
  2. // js数组 var arr=new Array(); var arr=[1,2,4];
  3. // 定义php数组
  4. $arr=array(1,2,"gaoyuanyuan",3.1415926,true);//索引数组
  5. // 0 => int 1
  6. // 1 => int 2
  7. // 2 => string 'gaoyuanyuan' (length=11)
  8. // 3 => float 3.1415926
  9. // 4 => boolean true
  10. // 打印输出PHP数组
  11. echo $arr;
  12. // 问题:打出索引值 结构 值的类型 长度
  13. var_dump($arr);
  14. // 遍历php数组
  15. // js for
  16. // for(var i=0;i<arr.length;i++){
  17. // arr[i]
  18. // }
  19. // count(数组)方法 返回值是数组的长度
  20. // $leng=$arr.length;
  21. $leng=count($arr);
  22. // echo $leng;
  23. // php数组和js区别:数组没有length属性
  24. // 错误写法
  25. // for($i=0;$i<$arr.length;$i++){
  26. // echo $arr[$i];
  27. // }
  28. // 正确的
  29. for($i=0;$i<$leng;$i++){
  30. echo $arr[$i].',';
  31. }
  32. echo "<br>-------------<br>";
  33. // 在js中有一个数据类型 对象
  34. // var obj={
  35. // name:"zhangsan",
  36. // age:18
  37. // }
  38. $arrguanlian=array('name'=>'zhangsan','age'=>18);//关联数组
  39. // 遍历 foreach既可以遍历索引数组还可以遍历关联数组
  40. // foreach(){}
  41. // foreach(数组名 as $k=>$v){
  42. // }
  43. // 遍历关联数组
  44. foreach($arrguanlian as $k=>$v){
  45. echo $k.'-----'.$v;
  46. echo "<br>-------------<br>";
  47. }
  48. // 遍历索引数组
  49. foreach($arr as $k=>$v){
  50. echo $k.'-----'.$v;
  51. echo "<br>-------------<br>";
  52. }
  53. ?>

十一、系统函数检查数组,常用的函数

       常用系统函数   in_array() 是否在数组中  array_key_exists ()检测数组中是否存在key
         in_array() 是否在数组中
                count() 计算数组长度
                array_key_exists ()检测数组中是否存在key
                file_get_contents读取文件
  1. <?php
  2. $arr=array('name'=>'congcong','age'=>80);
  3. // in_array(判断的值,数组) 是否在数组中 判断一个值是否在数组中 返回值是boolean true 或false
  4. $flag=in_array(80,$arr);
  5. echo $flag;
  6. //array_key_exists()检测数组中是否存在一个键 返回值是boolean true 或false
  7. $flag1=array_key_exists('name',$arr);
  8. echo $flag1;
  9. ?>

十二、表单处理

表单name属性的是用来提供给服务端接收所传递数据而设置的

表单action属性设置接收数据的处理程序

表单method属性设置发送数据的方式

当上传文件是需要设置 enctype="multipart/form-data",且只能post方式

$_GET接收 get 传值

$_POST接收 post 传值

$_FILES接收文件上传

1.get方式

  1. <!DOCTYPE html>
  2. <htmllang="en">
  3. <head>
  4. <metacharset="UTF-8">
  5. <title>Document</title>
  6. </head>
  7. <body>
  8. <!--1.action 代表数据提交到什么地方 服务器php -->
  9. <!--2.用什么样的方式提交 get post-->
  10. <!--用户名密码都应该存在一个变量中
  11. name属性的值是作为一个key来存储用户输入的信息的
  12. -->
  13. <formaction="form.php"method="get">
  14. <inputtype="text"name="username"id="user">
  15. <inputtype="password"name="password"id="pass">
  16. <inputtype="submit"value="提交">
  17. </form>
  18. </body>
  19. </html>
  20. <!--get提交数据的特点:1.数据的格式 key=value&key1=value1&key2=value2....
  21. 2.数据内容会显示在地址栏中
  22. 3.地址栏中的数据是长度有限的 ie浏览器规定不超过1024
  23. 4.get是默认的方式
  24. 5.get提交方式不太安全
  25. -->
  26. <!--注意:用什么样的方式提交,就要用什么样的方式接受-->
  1. <?php
  2. //后台程序如何得到前端提交的数据
  3. // $_GET用来接收前端提交过来的数据
  4. var_dump($_GET);
  5. ?>

2.post方式

  1. <!DOCTYPE html>
  2. <htmllang="en">
  3. <head>
  4. <metacharset="UTF-8">
  5. <title>Document</title>
  6. </head>
  7. <body>
  8. <!--
  9. 1.在html里 定义数据提交给哪个应用程序
  10. 2.在html里 设置数据提交的方式
  11. 3.在html里 设置input的name属性
  12. -->
  13. <formaction="form-post.php"method="post">
  14. <inputtype="text"name="username"id="user">
  15. <inputtype="password"name="password"id="pass">
  16. <inputtype="submit"value="提交">
  17. </form>
  18. </body>
  19. </html>
  20. <!--post方式的特点
  21. 1.提交数据不会显示到地址栏
  22. 2.数据提交格式是key=value&key1=value1&key2=value2....
  23. 3.数据可以无限大(理论上)
  24. 4.post提交方式相对安全
  25. -->
  1. <?php
  2. // 1.接受前端传过来的数据
  3. // 2.返回结果
  4. var_dump($_POST);
  5. ?>
 

 十三、HTML和PHP的混写方式

  1. <?php
  2. // html和php混合写
  3. // index.html ->index.php
  4. //注意 1.php嵌入html 需要写成php格式的文件
  5. //2.php代码要写在<?php代码?>
  6. //不必把所有的逻辑和数据写在同一标签中
  7. $arr=array('www.baidu.com','www.jd.com','www.taobao.com')
  8. ?>
  9. <!DOCTYPE html>
  10. <htmllang="en">
  11. <head>
  12. <metacharset="UTF-8">
  13. <title>Document</title>
  14. </head>
  15. <body>
  16. <h1>hello</h1>
  17. <?php
  18. for($i=0;$i<count($arr);$i++){
  19. // 把网址通过php代码输出成a链接
  20. echo '<a href="'.$arr[$i].'">链接</a><br>';
  21. }
  22. ?>
  23. </body>
  24. </html>
 





原文地址:https://www.cnblogs.com/litao666/p/6070378.html