无法使用angular.js和php在数据库中获取值

时间:2015-09-25 06:25:24

标签: php mysql angularjs

我无法在用户使用angular.js和PHP发布后填充数据库。单击提交按钮后,行在MySQL数据库中创建,但没有值。请在下面查看我的代码。

  

add_data.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" ng-app="Add_Data">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CRUD APPLICATION</title>
<script src="js/angularjs.js" type="text/javascript"></script>
<script src="js/create.js" type="text/javascript"></script>
<style>
#dv1{
     border:1px solid #DBDCE9; margin-left:auto;
     margin-right:auto;width:220px;
     border-radius:7px;padding: 25px;
}
.info{
     border: 1px solid;margin: 10px 0px;
     padding:10px;color: #00529B;
     background-color: #BDE5F8;list-style: none;
}
.err{
   border: 1px solid;  margin: 10px 0px;
   padding:10px;  color: #D8000C;
   background-color: #FFBABA;   list-style: none;
}
</style>
</head>

<body>
<div id='dv1'>
  <form ng-controller="FrmController">
                <ul>
                    <li class="err" ng-repeat="error in errors"> {{ error}} </li>
                </ul>
                <ul>
                    <li class="info" ng-repeat="msg in msgs"> {{ msg}} </li>
                </ul>
                <h2>Sigup Form</h2>
                <div>
                    <label>Name</label> 
                    <input type="text" ng-model="username" placeholder="User Name" style='margin-left: 22px;'> 
                </div>
                <div>
                    <label>Email</label>
                    <input type="text" ng-model="useremail" placeholder="Email" style='margin-left: 22px;'> 
                </div>
                <div>
                    <label>Password</label>
                    <input type="password" ng-model="userpassword" placeholder="Password">
                </div>
                <button ng-click='SignUp();' style='margin-left: 63px;margin-top:10px'>SignUp</button>
     </form>
  </div>
</body>
</html>
  

create.js:

var app=angular.module('Add_Data',[]);
app.controller('FrmController',function($scope,$http){
    $scope.errors = [];
    $scope.msgs = [];
    $scope.SignUp=function(){
        $scope.errors.splice(0, $scope.errors.length); // remove all error messages
        $scope.msgs.splice(0, $scope.msgs.length);

        $http.post('php/create.php', {'uname': $scope.username, 'pswd': $scope.userpassword, 'email': $scope.useremail}
               ).success(function(data, status, headers, config) {
                if (data.msg != '')
                    {
                        $scope.msgs.push(data.msg);
                    }
                    else
                      {
                         $scope.errors.push(data.error);
                      }
                    }).error(function(data, status) { // called asynchronously if an error occurs
// or server returns response with an error status.
                        $scope.errors.push(status);
         });
    }
});
  

create.php:

<?php
$data = json_decode(file_get_contents("php://input"));
$usrname = mysql_real_escape_string($data->uname);
$upswd = mysql_real_escape_string($data->pswd);
$uemail = mysql_real_escape_string($data->email);

$con = mysql_connect('localhost', 'root', '******');
mysql_select_db('AngularTest', $con);

$qry_em = 'select count(*) as cnt from users where email ="' . $uemail . '"';
$qry_res = mysql_query($qry_em);
$res = mysql_fetch_assoc($qry_res);

if ($res['cnt'] == 0) {
    $qry = 'INSERT INTO users (name,pass,email) values ("' . $usrname . '","' . $upswd . '","' . $uemail . '")';
    $qry_res = mysql_query($qry);
    if ($qry_res) {
        $arr = array('msg' => "User Created Successfully!!!", 'error' => '');
        $jsn = json_encode($arr);
        print_r($jsn);
    } else {
        $arr = array('msg' => "", 'error' => 'Error In inserting record');
        $jsn = json_encode($arr);
        print_r($jsn);
    }
} else {
    $arr = array('msg' => "", 'error' => 'User Already exists with same email');
    $jsn = json_encode($arr);
    print_r($jsn);
}

?>

当用户点击注册按钮时,会在数据库中创建一行但三个字段显示为空白。我还在页面上收到消息user created successfully。请帮我解决此错误。

0 个答案:

没有答案