自己做的访问简单的php,mysql,用ajax请求做的一个简单登录验证,很适合刚刚学习php搭建最基本的前端,后台,访问数据库流程的建立

     get和post方式有些不同,稍后贴出代码。

 
<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="http://apps.bdimg.com/libs/angular.js/1.3.9/angular.min.js"></script>
    <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body ng-app="myApp" ng-controller="mycro">
    用户名:<input type="text" id="user" ng-model="name"></br>
    密码:<input type="password" id="pwd" ng-model="password"></br>
    <button ng-click="hehe()">登录</button>
</body>
<script>
    var app=angular.module("myApp",[]);
    app.controller("mycro",function($scope){
        $scope.name="wangxupeng";
        $scope.hehe=function(){
            //创建XMLHttpRequest对象
            var xmlHttp=null
            if (window.XMLHttpRequest)
            {
                xmlHttp=new XMLHttpRequest()
            }
            else if (window.ActiveXObject)
            {
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")
            }

            var url="./pass.php"+"?name="+$scope.name+"&password="+$scope.password;
            xmlHttp.onreadystatechange=stateChanged//服务器状态改变调用函数
            xmlHttp.open("GET",url,true)
            //xmlHttp.send("name="+$scope.name);
            xmlHttp.send(null);
            //访问成功处理函数
            function stateChanged()
            {
                if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
                {
                    //document.getElementById("txtHint").innerHTML=xmlHttp.responseText
                    alert(xmlHttp.responseText);
                }
            };
        }

    })

</script>
</html>

上面get方式的前端请求,

<?
$name=$_GET["name"];
$password=$_GET["password"];
$db=mysql_connect("localhost","wangxupeng","123456");//链接数据库
if(!$db){
    die('can not connect'.mysql_error());
}else{
    mysql_select_db("first",$db);
    $out=mysql_query("select * from user");
    $count=0;
    while($r1=mysql_fetch_array($out)){
        if($r1[0]==$name&&$r1[1]==$password){
            $count++;
        }
    }
    if($count>=1){
        echo "您已经成功登录";
    }
    else
        echo "该用户不存在";
}

mysql_close();

?>

这是后台简单验证,(再次申请,只做了最简单的功能,合法性验证什么的都没有做)

 

 

 

 

----------------------

下面是post 方式,需要修改

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="http://apps.bdimg.com/libs/angular.js/1.3.9/angular.min.js"></script>
    <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body ng-app="myApp" ng-controller="mycro">
    用户名:<input type="text" id="user" ng-model="name"></br>
    密码:<input type="password" id="pwd" ng-model="password"></br>
    <button ng-click="hehe()">登录</button>
</body>
<script>
    var app=angular.module("myApp",[]);
    app.controller("mycro",function($scope){
        $scope.name="wangxupeng";
        $scope.hehe=function(){
            //创建XMLHttpRequest对象
            var xmlHttp=null
            if (window.XMLHttpRequest)
            {
                xmlHttp=new XMLHttpRequest()
            }
            else if (window.ActiveXObject)
            {
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")
            }

            var url="./pass.php";
            xmlHttp.onreadystatechange=stateChanged//服务器状态改变调用函数
            xmlHttp.open("POST",url,true)
            xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//设置请求头上传数据模式,post方法使用
//详细解析下面贴出了一个帖子,讲解的更详细。
xmlHttp.send("name="+$scope.name+"&password="+$scope.password); //访问成功处理函数 function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { //document.getElementById("txtHint").innerHTML=xmlHttp.responseText alert(xmlHttp.responseText); } }; } }) </script> </html>

http://blog.csdn.net/mhmyqn/article/details/25561535[post方式需要更改content-type详细解说]

后台的php则只要把上一个php文件中全局变量$_get改成$_post就可以了。

--------------------------------------

 

 

 

jquery封装好的post,get请求代码则简洁很多。

jquery的get方式代码如下:

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="http://apps.bdimg.com/libs/angular.js/1.3.9/angular.min.js"></script>
    <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body ng-app="myApp" ng-controller="mycro">
    用户名:<input type="text" id="user" ng-model="name"></br>
    密码:<input type="password" id="pwd" ng-model="password"></br>
    <button ng-click="hehe()">登录</button>
</body>
<script>
    var app=angular.module("myApp",[]);
    app.controller("mycro",function($scope){
        $scope.name="wangxupeng";
        $scope.hehe=function(){
            var url="./pass.php?name="+$scope.name+"&password="+$scope.password;
            $.get(url,function(data){
                alert(data);
            })
        }
    })
</script>
</html>

后台无需修改

-----------------------------

jquery的post方法代码如下

 

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="http://apps.bdimg.com/libs/angular.js/1.3.9/angular.min.js"></script>
    <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body ng-app="myApp" ng-controller="mycro">
    用户名:<input type="text" id="user" ng-model="name"></br>
    密码:<input type="password" id="pwd" ng-model="password"></br>
    <button ng-click="hehe()">登录</button>
</body>
<script>
    var app=angular.module("myApp",[]);
    app.controller("mycro",function($scope){
        $scope.name="wangxupeng";
        $scope.hehe=function(){
            var url="./pass.php";
            $.post(url,"name="+$scope.name+"&password="+$scope.password,function(data){alert(data)})
        }
    })
</script>
</html>

这四种方式都只是简单的钱后台数据交换的基本模版。可作初学者的参考和自己的备忘笔记

 

posted on 2015-12-08 11:00  王叙鹏  阅读(942)  评论(0编辑  收藏  举报