如何通过php

时间:2017-04-07 03:06:19

标签: javascript php mysql angularjs

所以我有点棘手或者说奇怪的情况。

我有php和mysql数据库,前端我正在使用angular.js

所以我正在创建服务,通过post请求发送数据到php。

当我通过名称html属性发送输入值时,一切正常。

但是当我尝试从for循环中发送硬编码文本变量时会出现问题。

我知道这是非常难以编码的方式,但我不知道如何以不同的方式做到这一点。

所以这是我的php

<?php

$conn = mysqli_connect('localhost','nemkeang','nemkic23','interventure');

if(!$conn) {
 die("Connection failed: " . mysqli_connect_error());
}


$text = $_POST['first_name'];
$text2 = $_POST['last_name'];
$text3 = $_POST['date'];
$text4 = $_POST['author'];
$text5 = $_POST['note'];
$text6 = $_POST['skill'];
$target = "/assets";
$target = $target . basename( $_FILES['cv_file_name']['name']);
//This gets all the other information from the form
$file_name=  $_FILES['cv_file_name']['name'];
$file_name2=  $_FILES['cv_file_name']['name'];


//Writes the file to the server
if(move_uploaded_file($_FILES['cv_file_name']['tmp_name'], "./".$file_name)) {
    //Tells you if its all ok
    echo "The file ". basename( $_FILES['cv_file_name']['name']). " has been uploaded, and your information has been added to the directory";
    // Connects to your Database
    }


$sql = "INSERT INTO user (first_name, last_name, skill, date, cv_file_name, cv_url, author, note)
VALUES ('$text','$text2','$text6','$text3','$file_name','$file_name2','$text4','$text5')";

if (!mysqli_query($conn,$sql)) {
  die('Error: ' . mysqli_error($conn));
}
else {
    echo "success";
}

mysqli_close($con);
?>

php工作正常,它正在发送数据,但在$ text6 = $ _POST ['技能'];问题到了。

所以这是我的角色服务第一次

app.service('testpost',['$http',function($http){
    this.saveRecipe = function(postdata){

        let payload = new FormData();
        payload.append("first_name", postdata.first_name);
        payload.append('last_name', postdata.last_name);
        payload.append('date', postdata.date);
        payload.append('cv_file_name', postdata.cv_file_name);
        payload.append('author', postdata.author); 
        payload.append('note', postdata.note); 
        payload.append('skill', postdata.skill); 

        return $http.post('login/post.php', payload, {
            transformRequest: angular.identity,
            headers: {'Content-Type': undefined},

        })
    }
}]);

它也正常工作,当我将其记录到控制台时,它显示正确的值。只是不要发送payload.append('skill',postdata.skill);对PHP的价值。

这是我的控制器

app.controller('newUser',['$scope','$filter','testpost', function($scope,$filter,testpost) {
        $scope.postdata = {}
        $scope.arr = [];
        let bar = document.getElementsByClassName('md-chip-content');

        this.saveRecipe = function(postdata) {
        for(var i = 0;  i < bar.length;  i++) {
            $scope.arr.push(bar[i].innerText);   
        }   
            let skills = $scope.arr;
            postdata.date = $filter('date')(postdata.date, "MM/dd/yyyy").split('/').join('-');
            postdata.skill  = skills[0];
            postdata.skill2 = skills[1];
            postdata.skill3 = skills[2];
            postdata.skill4 = skills[3];
            testpost.saveRecipe(postdata).then((data)=>{
                console.log(data); 
            })
            error:(err) =>{ return false};
        }

    }]);

为了清楚起见我只想将postadata.skill的值通过php发送到mysql。我认为问题出在php中,因为值不是来自输入类型。

我希望我已经很好地解释了一切。提前谢谢。

0 个答案:

没有答案