php - AngularJS | Codeigniter中如何将Json数据发送到数据库

标签 php mysql forms codeigniter angularjs

我正在尝试使用 Angular。

我正在尝试发布 Angular 表单,该表单已成功完成,它以 JSON 格式发布,但问题是它仅发布具有值的输入字段,如果我没有填写了那么它不会发布该文本框值和字段名称,那么如何在 Controller 中知道哪些输入字段已发布。

还有如何将其发送给模型?

这是我到目前为止所做的事情。

查看。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/html">
<head>
    <link href="<?php echo base_url(); ?>/styles/formcss.css" rel="stylesheet" type="text/css"/>
    <script src="<?php echo base_url(); ?>/scripts/angular.min.js"></script>
</head>
    <body ng-app>
    <div ng-controller="controller">
    <form>
    <label for="name">UserID:</label>   <input type="text" name="UserID" ng-model="user.UserID" value=""><br>
    <label for="UserName">Name:</label>   <input type="text"  name="UserName" ng-model="user.UserName" value=""><br>
    <label for="rollno">In Game Name:</label>   <input type="text" name="GameName" ng-model="user.InGameName" value="" ><br>
    <label for="father">CNIC Number:</label>   <input type="number" name="Cnic" ng-model="user.Cnic" value="" ><br>
    <label for="age">Age:</label>  <input name="Age" ng-model="user.Age" type="number" value="" ><br>
    <label for="email1">Email:</label>   <input name="Email" ng-model="user.Email" type="email" value="" ><br>
    <label for="email2">Res enter Email:</label>   <input id="email2" type="email" name="email2" value=""  ><br>
    <label for="pass1">Password:</label>  <input id="pass1" type="password" name="Pass" ng-model="user.Password" value=""><br>
    <label for="pass2">Re enter Password:</label>  <input id="pass2" type="password" name="pass2" value="" ><br>
    <label  style="margin-bottom:-10px; "  for="male">Male</label><input class="gen" ng-model="user.Gender" id="male" type="radio" name="g" value="Male"><br>
    <label  style="margin-bottom:15px;" for="female">Female</label><input class="gen" ng-model="user.Gender" id="female" type="radio" name="g" value="Female"><br>
    <label class="dis"  for="about" >About:</label> <textarea rows="5" cols="40" id="about" type="text" value=""></textarea><br>
    <button style="margin-left: 225px;"  ng-click="save()" >Save</button>
    </form>
    </div>
    <script>
       function controller ($scope,$http)
       {
           var angularform="<?php echo base_url(); ?>index.php/datacon/angform"
           $scope.save=function()
           {
            $http.post(angularform, $scope.user);
           }
       }
    </script>
    </body>
</html>

Controller :

public function angform()
    {
        $get=file_get_contents('php://input');
        $json_get=json_decode($get);
        foreach($json_get as $key=>$value){
         // i think something it has to do here.
        }

        $this->load->model('datamodel');
        $this->datamodel->insert($data);
        }

这是屏幕截图,我填写了三个字段,因此它仅发布了三个字段的值。 enter image description here

最佳答案

public function angform()
    {
        $get=file_get_contents('php://input');
        $json_get=json_decode($get);
        foreach($json_get as $key=>$value){              
         $data[$key]=$value; //Worked For Me.
        }

        $this->load->model('datamodel');
        $this->datamodel->insert($data);
        }

关于php - AngularJS | Codeigniter中如何将Json数据发送到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17609159/

相关文章:

javascript - 如何在提交首字母时让一个输入字段替换另一个输入字段?

php - 实例化 Pusher 时出现 fatal error - 找不到类

php - 多个 PHP 按钮? (一个按钮是提交按钮,其他按钮是功能)

php - Laravel 5.5 中未写入日志文件

php - 没有从数据库中为用户在 PHP 中获取数据

php - 如果第 1 列是用户,则插入其中,否则插入第 2 列

mysql - 自动增量每次都会跳过一个数字

php - 在 Zend Mysql 中强制使用大于数字

javascript - 在 javascript 中创建多项选择选项

javascript - 一个表单,多个提交按钮和提交链接