PHP将JavaScript函数返回数据添加到数据库

时间:2018-03-18 23:24:49

标签: javascript php sql jsonp

我希望变量$ con从JavaScript函数获取数据(国家/地区)并将其保存在SQL数据库中。插入查询在没有JavaScript代码的情况下正常工作但是当我想使用插入查询将$ con添加到我的数据库时,插入查询不会将数据添加到我的SQL数据库

这是我的代码:

$con = "<script>
        function jsonpCallback(data) {
            var con = document.write(data.address.country) }
        </script>
        <script src='http://api.wipmania.com/jsonp?callback=jsonpCallback'></script>";

$sql = "INSERT INTO `searched1`
                (`search`, `longitude`, `latitude`, `country`, `date`) 
        VALUES ('$phone','$lon','$lat','$con','$datetime')";

$result=mysqli_query($conn,$sql);

2 个答案:

答案 0 :(得分:1)

我不知道你是如何启动SQL查询但我会使用form

<form>
    <input name="con" id="con" value="">
    <input name="submit" id="submit" value="Submit">
</form>

<script>
    document.getElementById('con').value = data.address.country;
</script>

<?php
$con = $_POST['$con'];

$sql = "INSERT INTO `searched1`
                (`search`, `longitude`, `latitude`, `country`, `date`) 
        VALUES ('$phone','$lon','$lat','$con','$datetime')";
?>

答案 1 :(得分:0)

我想补充一下Edward写的前一个答案,但是错误的是你永远无法从Javascript中获取这样的PHP变量值。

该代码在服务器上呈现,而Js仅在“观看者”中呈现。浏览器。

充其量只会输入一个包含脚本函数的字符串。您应该使用表单或Ajax将数据发送到执行数据库插入查询的PHP脚本/函数。这是正确的方法。