javascript - JavaScript。单击按钮将数据插入数据库

标签 javascript php html mysql database

我需要简单的事情,通过单击按钮将数据插入数据库,但我无法成功完成。

这是按钮.php

<form method="post" action="" onsubmit="return display()">
<input type="text" name="name" id="name22" placeholder="">
<input type="submit" name="submit" value="Send"><br>

<div id="answer22" class="answer"></div>

这是获取用户输入的单词的函数,我需要将其写入数据库。

function display(){
var i;
var d = new Date();
var n = d.getDate();
    for (i=1;i<=30;i++) {
      if(i==n) {
 var ans    =   document.getElementById("name"+ i).value
 document.getElementById("answer"+ i).innerHTML="Jūsų atsakymas: "+ans.bold();
    var ajax = new XMLHttpRequest(),
url = 'button_sql.php?answer=' + encodeURIComponent(ans);
ajax.open("GET", url, true);
ajax.send();
    }
    }
return false;
}

这是我的db.php,我不知道如何正确使用它。

<?php
    session_start();
    $name = John; 
    $answer= $_SESSION['answer22']; // I've tried this but unsuccessful
    $mysqli = new mysqli("localhost","asd","asd","asd");


if ($stmt = $mysqli->prepare("INSERT into myTable (answer, userName) VALUE (?,?) ")) {
if (!$mysqli->set_charset("utf8")) {
    printf("Error loading character set utf8: %s\n", $mysqli->error);
} else {
//    printf(" ", $mysqli->character_set_name());
}


$stmt->bind_param('ss', $answer, $name);

   $stmt->execute();

   if ($stmt->error != '') {
       echo ' error:'.$stmt->error;
   } else {
       echo 'success';
   }
   $stmt->close();
} else {
   echo 'error:'.$mysqli->error;
}

$mysqli->close();
?>

我尝试过使用这个,但没用:

<form method="post" action="button_sql.php" onsubmit="return display()">

有人可以帮助我吗?非常感谢。

最佳答案

问题是,如果您在使用旧模型添加的事件监听器中使用return false,则会阻止默认操作。

在您的情况下,您的事件监听器 display 由于 return false 而阻止表单(正在提交)的默认操作。

如果您想提交表单而不重新加载页面,您应该使用 AJAX相反。

例如,使用如下内容:

var ajax = new XMLHttpRequest(),
    url = 'button_sql.php?answer' + i +'=' + encodeURIComponent(ans);
ajax.open("GET", url, true);
ajax.send();

您可能也想使用onreadystatechange

db.php中:

$answer = $_GET['answer22'];

关于javascript - JavaScript。单击按钮将数据插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20132629/

相关文章:

php - 没有主键的 Laravel 模型保存数据

javascript - Bootstrap 中的中间中心 div

jquery - html 选择下拉宽度太大

javascript - 获取表的 thead 标签内输入的 IDS

javascript - 我想在 POST 命令中发送一些内容,而不需要用户在 Javascript 中输入该值

javascript - 我们如何设计来自数组连接的字符串?

php - Mysql select语句语法错误

php - Wordpress 和 qTranslate - 在 functions.php 中获取当前语言

css - 改变div的背景颜色

javascript - Google Blockly 更新输入类型