我有两个问题:
Q1)如何将数组值传递给PHP并在PHP中回显相同的值? Q2)如何将值插入到数据库中,其中我的数组键是mysql字段的名称,数组值是该特定字段的数据?
我的console.log显示以下输出:
[]
firstname: "apple"
lastname: "banana"
length: 0
但是我没有用PHP显示这些值....
我有一个显示自定义字段的HTML表单:
<form>
<div ng-repeat="field in fields">
<div ng-if="field.required == 'yes'">
<label>
{{ field.fieldlabel }}
</label>
<input type = "{{ field.fieldtype }}" ng-model="values[field.fieldname]">
</div>
</div>
<div id ="entryform-button">
<input type="submit" class="btn-primary btn" id="save" name="submit" value = "Save" ng-click="insertTrans()">
</div>
</form>
和将数据传递给PHP的Angular控制器:
$scope.values = [];
$scope.insertTrans = function () {
console.log($scope.values);
//JSON.stringify($scope.values)
$http.post(
"model/Form.php",
{ 'formvalues' : $scope.values }
).then (function(data) {
alert (data.data);
});
}
但在PHP中我尝试过json_decode,启动并尝试使用var_dump,echo,print_r显示但无法看到数据....
<?php
$data = json_decode(file_get_contents("php://input"));
//$data = json_decode($_POST['formvalues'], ture);
if(count($data) > 0) {
var_dump($data);
//print_r($data['formvalues']);
//echo $data['formvalues'];
//echo implode(" ", $data);
//print_r (explode(" ",$data));
// foreach ($data['formvalues'] as $value) {
// echo $value;
// }
// $sql= "INSERT INTO trans ( ) VALUES ( )";
// $conn->exec($sql);
// echo "Data Inserted into Database";
}
PHP返回:
array(1) {
["formvalues"]=>
array(0) {
}
}
请建议。
万分感谢
答案 0 :(得分:0)
你好像是在你的php上发布一个空数组。你拥有控制台的点,值数组仍然是空的,这就是你的控制台消息也有一个空数组的原因。长度为零。这意味着您在发布该数据时尚未将数据传递到$scope.values
数组中。
尝试删除此行&gt;&gt; $scope.values = [];
并查看它是否有效。