【问题标题】:Insert data into postgresql database using ajax and php使用ajax和php将数据插入postgresql数据库
【发布时间】:2018-09-20 08:07:44
【问题描述】:

任务的目标是在 PhP 中使用 ajax 将数据插入到 postgresql 中,页面不应该刷新,它只是插入数据并向用户显示操作成功的消息。

我关注Insert Data mysql using Ajax and PHP,为将数据插入到 postgresql 数据库中进行编码。但是有一些未知的问题。该控件甚至不会转到我将输入插入数据库的服务器上的页面。我将客户端和服务器端代码放在同一个文件夹中,以避免由于路径而出现任何问题。我的客户端代码是: alta_usuari.php

<!DOCTYPE html>
<html>
<head>
<style> <?php include './../css/alta_usuari.css'; ?> </style>

<script src='http://code.jquery.com/jquery-3.1.1.min.js'></script>  
<script>
$(document).ready(function() {
    $('#button_alta').click(function(event) {
    event.preventDefault();
    console.log("about to start AJAX call");
    var bracalet = $('#textbox_bracalet').val();
    var tag = $('#textbox_tag').val();

    $.ajax({
      type: "POST",
      url: 'pages/alta_usuari_server.php',
      data: {
        bracalet: bracalet,
        tag: tag
      },

      success: function(data) {
        console.log(tag);
        console.log(result);
        alert(result);
        $("#message").html(data);
        alert('data has been storeds to database');
      }
    });
  });
});
    </script>      

</head>
<body>
<div id="mainDiv_alta_usuari">
  <form id="form_alta_usuari" class="form_alta_usuari">
    <p><input type="text" name="bracalet" id="textbox_bracalet" placeholder="Escaneja el bracalet...." /></p>
    <p><input type="text" name="tag" id="textbox_tag" placeholder="Escaneja el tag...." /></p>
    <p><input type="submit" id="button_alta" value="Donar d'alta" /></p>
  </form>
  <div id="message"> </div>
</div>
</body>

</html> 

alta_usuari_server.php 代码

<html>
<body>

Bracalet:  <?php echo $_POST["bracalet"]; ?><br>
Tag: <?php echo $_POST["tag"]; ?>

<?php 

header("Content-Type: application/json; charset=UTF-8");  

$mac=$POST['tag'];
$bracalet=$POST['bracalet'];

$ini = parse_ini_file('config.ini');
$host=$ini['host'];
$port =$ini['port'];
$user =$ini['user'];
$pass =$ini['password'];
$db = $ini['db']; 

$con = pg_connect("host=$host dbname=$db user=$user password=$pass")
or die ("Could not connect to server\n"); 

$query = "INSERT INTO beacon VALUES($mac)"; 
$result = pg_execute($con, $query) or die("Cannot execute query: $query\n");
if($result)
{
     $data="Insert successfully"; 
}
else{
    $data="Error"; 

}        
echo  json_encode($data);
pg_free_result($data);
pg_close($con);

?>

</body>
</html> 

最简单的 alta_usuari_server.php

<?php
$mac=$_POST['tag'];
$bracalet=$_POST['bracalet'];

echo $mac;
echo $bracalet;

$data="tahir";      
echo  json_encode($data);
?>

【问题讨论】:

    标签: php ajax postgresql


    【解决方案1】:

    在 alta_usuari_server.php 中,您在设置 Content-Type 标头之前发送了一些标记。这是无效的。您需要确保如果要设置响应标头,它是脚本的第一个输出。它必须在标记和回显语句之前。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-12
      • 2017-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多