• 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>
     





  • 相关阅读:
    odoo12 权限配置1
    Python 安装第三方库,pip install 安装慢,安装不上的解决办法
    odoo12 如何设置超级用户
    Python odoo中嵌入html简单的分页功能
    odoo Windows10启动debug模式报错(Process finished with exit code -1073740940 (0xC0000374))
    Python数据可视化库-Matplotlib(二)
    Python数据可视化库-Matplotlib(一)
    Python Pandas库的学习(三)
    Python Pandas库的学习(二)
    Python Pandas库的学习(一)
  • 原文地址:https://www.cnblogs.com/litao666/p/6070378.html
Copyright © 2020-2023  润新知