如何在php中检索javascript变量并将其添加到数据库中

tcomlyy6  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(298)

我需要一个帮助,请,我是初学者与ajax。我正在尝试创建一个计时器,我想当他点击按钮时,他会得到通过ajax和数据库插入的值。当我执行代码时,它没有错误,但也不会插入到数据库中。

<?php

    $pdo = new PDO('mysql:host=localhost;dbname=jeu', 'root', '', array(
    PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING,
    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES cp1256'
  ));
?>
<!doctype html>
  <html>
    <head>
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
   </head>
      <body >
      <span id="mySpan" style="font-size: 80px;">20</span>
      <input id="arret" type="button" value="Arret">

    <script type="text/javascript">
    function decrementer() {
    if ( mySpan.innerHTML > 0 ) {
         mySpan.innerHTML-- ;
         setTimeout(decrementer, 1000);
         }
    }
    setTimeout(decrementer, 1000) ;
     var element = document.getElementById('arret');

        element.onclick = function() {
           var chrono=mySpan.innerHTML;
       $.ajax({
                        type: "GET",
                        data: {chrono : chrono},
                        success: function(data)
                        {
                            console.log(chrono);
                        }
                    });    
        };
    </script>
             <?php
     if(isset($_GET['chrono']))
    {
        $uid = $_GET['chrono'];
        echo($uid );
          $resultat = $pdo -> prepare("INSERT INTO ajaxtest (name) VALUES (:name)");
        $resultat  -> bindParam(':rep', $uid, PDO::PARAM_STR);

  if($resultat -> execute()){ 
   $id_insere = $pdo -> lastInsertId();
    }
    }
  ?>
  </body>
 </html>
v9tzhpje

v9tzhpje1#

我建议您将php和html分开,然后使用ajax将数据发送到php。
在你的php上你是绑定的 :rep 但你的占位符是 :name 所以你需要绑定 :name ```
$resultat -> bindParam(':name', $uid, PDO::PARAM_STR);

html端。

            element.onclick = function() {
               var chrono=mySpan.innerHTML;
           $.ajax({
                type : "POST",
                url   : "somefile.php", //url to send data to
                data: {chrono : chrono},
                success: function(data)
                {
                    console.log(data); //log data back
                }
            });    
            };
    </script>
</body>

$pdo = new PDO('mysql:host=localhost;dbname=jeu', 'root', '', array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING,
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES cp1256'
));

$uid = isset($_POST['chrono']) ? $_POST['chrono'] : null;

$resultat = $pdo->prepare("INSERT INTO ajaxtest (name) VALUES (:name)");
$resultat->bindParam(':name', $uid, PDO::PARAM_STR);

if ($resultat->execute()) {
$id_insere = $pdo->lastInsertId();

echo json_encode("data inserted success");

}

?>

相关问题