【问题标题】:PHP add JavaScript function return data to database [closed]PHP添加JavaScript函数将数据返回到数据库[关闭]
【发布时间】:2018-08-27 11:25:35
【问题描述】:

我希望变量 $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);

【问题讨论】:

  • 好吧,你需要转义你的输入。对 PDO 使用准备好的语句,并抛弃 mysqli* 函数。

标签: javascript php sql jsonp


【解决方案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')";
?>

【讨论】:

    【解决方案2】:

    我想补充一下爱德华之前写的答案,这有什么问题是你永远无法从 Javascript 中获取一个值到这样的 PHP 变量中。

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

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

    【讨论】:

      猜你喜欢
      • 2020-10-24
      • 2014-08-30
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      • 1970-01-01
      • 2013-10-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多