初识PHP(一)

可独立放在一个文件中,也可和HTML混编

我的第一个PHP程序

<?php
    echo "hello world";
?>

运行PHP程序

使用Apache服务器,将文件放在工作空间内,在浏览器输入网址运行

注释

//:单行注释

/**/:多行注释

输出

print和echo,常用echo

<?php
        //echo可输出多个字符串,用逗号分隔
        echo "hello php" ,"good luck"; 
        //print只能输出一个字符串
        print "hello world";
    ?>

创建变量

<?php 
    //创建变量必须以$开头,以js的var类似,具体类型由赋值类型决定
    $a = 10086;
    $b = "string";
    $c = 3.14;
    //输出变量时也要携带$
    echo "$a  ","$b  ","$c  ";
 ?>

字符串拼接

使用符号“.”拼接

<?php
    echo "good"."evening";
?>

通过get和post获取参数

get

//html代码
<form action="get02.php" method="get">
        <input type="text" name="username" placeholder="姓名">
        <input type="text" name="userage" placeholder="年龄">
        <input type="submit" name="" value="提交">
    </form>
    
    
//php代码
<?php
    //接收参数必须使用$_GET["name值"]
    $name = $_GET["username"];
    $age = $_GET["userage"];
    echo $name."+++".$age; 
 ?>

post

//html代码
<form action="get02.php" method="post">
        <input type="text" name="username" placeholder="姓名">
        <input type="text" name="userage" placeholder="年龄">
        <input type="submit" name="" value="提交">
    </form>
    
    
//php代码
<?php
    //接收参数必须使用$_POST["name值"]
    $name = $_POST["username"];
    $age = $_POST["userage"];
    echo $name."+++".$age; 
 ?>

创建ajax对象

<body>
    <div style="border: 1px solid skyblue "></div>
    <script type="text/javascript">
        var dv = document.getElementsByTagName("div")[0]; 
        //1,创建ajax对象
        var request = new XMLHttpRequest;
        //2,open文件
        request.open("GET","a.json");
        //3,设置响应后的回调
        request.onreadystatechange=function(){
            if(request.readyState==4){
                var txt = request.responseText;
                dv.innerHTML = txt;
                // alert(txt);
            }
        };
        //4,发送请求
        request.send(null);
    </script>
</body>

封装XML

<body>
    <div id="dv" style="border: 1px solid red"></div>
    <script>
        //1,创建一个函数对象封装请求xmlhttprequest
        function createRequest(){
            var req;
            //兼容IE低版本
            var activeArr = ["MSXML2.XMLHTTP5.0","MSXML2.XMLHTTP4.0","MSXML2.XMLHTTP3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
            //判断浏览器类型版本,创建相应的函数对象
            if(window.ActiveXObject){
                for(var i=0;i<activeArr.length;i++){
                    req = new ActiveXObject(activeArr[i]);
                    if(req!=null){
                        break;
                    }
                }
            }else if(window.XMLHttpRequest){
                req = new XMLHttpRequest();
                return req;
            }
        };


        function ajax2(config){
            var request = createRequest();
            //利用正则表达式判断请求类型
            if(/^get$/i.test(config.method)){
                request.open(config.method,config.uri+"?"+parmas(config));
                //设置回调
                request.onreadystatechange = function(){
                        if(request.readyState==4){
                            //接收响应内容
                            var txt = request.responseText;
                            //自定义回调内容
                            config.success(txt);
                        }
                }
                //发送请求
                request.send(null);
            }else if(/^post$/i.test(config.method)){
                //open
                request.open("POST",config.uri);
                request.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
                //回调
                request.onreadystatechange=function(){
                    if(request.readyState==4){
                        var txt = request.responseText;
                        config.success(txt);
                    }
                };
                //参数
                request.send(parmas(config.data));
            }
        };
        //拼接参数值
        function parmas(data){
            var str = "";
            for (var i in data) {
                str+=(i+"="+data[i]+"&");
            }
            return str.substr(0,str.length-1);
        };
        //配置信息,不在封装例,只做测试用
        // var config = {
        //  method :'post',
        //  uri : 'test07.php',
        //  data:{"name":"za","age":18},
        //  success:function(data){
        //      document.getElementById("dv").innerHTML = data;
        //  }
        // };
        // ajax2(config);
    </script>

百度账号名验证

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>利用Ajax百度账号名验证</title>
</head>
<body>
    <form action="#" method="post">
        <input type="text" name="username" id="username" onblur="checkusername()">
        <span id="unameTip"></span>
        <input type="submit" name="" value="提交">
    </form>
    <!-- //实现跨域请求,可以使用<script></script>,myajax.js既是封装的XML -->
    <script type="text/javascript" src="myajax.js"></script>
    <script>
        //由script.src中的callback=callback调用,并返回响应的数据,函数名需与右边的callback同名
        function callback(data){
            console.log(data);
            var tip = document.getElementById("unameTip");
            if(data.userexsit==1){
                tip.innerHTML="不可用";
            }else {
                tip.innerHTML="可用";
            }
        }

        function checkusername(){
            var username = document.getElementById("username").value;
            console.log(username);
            var script = document.createElement("script");
            script.src="https://passport.baidu.com/v2/?regnamesugg&username="+username+"&callback=callback";
            document.body.appendChild(script);
        }
    </script>
</body>
</html>

利用jQuery实现ajax

<body>
        <script type="text/javascript" src="jquery-3.4.1.min.js" ></script>
        <script>
            $.ajax({
                type:"get",//请求类型
                url:"get01.php?name=zs&age=18",//要发送的文件url及参数值
                async:true, //是否异步,是异步
                success:function(data){
                    alert(data.message);//成功时,触发此函数
                },
                dataType:'json' //规定返回的数据类型
            });
        </script>
    </body>

get01

<?php
    //获取
    $name = $_GET['name'];
    $age = $_GET['age'];
    if($name=="zs"){
        echo '{"message":"success"}';
    }else{
        echo '{"message":"error"}';
    }

?>
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,719评论 0 10
  • AJAX 原生js操作ajax 1.创建XMLHttpRequest对象 var xhr = new XMLHtt...
    碧玉含香阅读 3,170评论 0 7
  • 1、PHP语言的一大优势是跨平台,什么是跨平台?一、PHP基础: PHP的运行环境最优搭配为Apache+MySQ...
    __书山有路__阅读 1,477评论 0 15
  • 一分钟微演讲打卡第三天,为了遇见更美的自己。 尝试一词,让我想起了这两天和宝贝之间身教重于言教的小故事。有些日子没...
    松子麻麻阅读 206评论 0 0
  • “赞美”孩子并不总是有好处。 让不同的儿童解数学题。解完一组简单题目后,研究者给了每人一句反馈。对一些孩子...
    天津晨妈阅读 238评论 0 0