php - 需要帮助将 HTML 和 Canvas 数据插入 MySQL 数据库

标签 php html mysql

我有一个小网络应用程序,您可以在 Canvas 上绘图并留下评论(使用表单提交)。现在我只需要帮助将该数据发送到 MySQL 数据库。

这是用户输入评论的表单。当他们单击“发布”按钮时,会运行一个名为“boo”的函数。

<form action="testSave.php" method="post" onsubmit="boo();">
    <div id="canvas-bottom">
        <input type="text" id="comment-box" name="comment" placeholder="Comment"/>
        <input type="submit" id="post-button" name="post" value="Post"/>
    </div>
</form>

“boo”函数获取 Canvas 数据并将其发送到另一个名为“testSave.php”的 PHP 文件

<script>
function boo(){
    var canvasData = drawingCanvas.toDataURL();     
    $.ajax({
      type: "POST",
      url: "testSave.php",
      data: { 
         canvasData: canvasData
      }
    })
}
</script>

这是“testSave.php”文件

<?php
if(isset($_POST['canvasData'], $_POST['post'])) {
    $img = $_POST['canvasData'];
    $filteredData = substr($img, strpos($img, ",")+1);

    $comment = strip_tags($_POST['comment']);   
    $comment = mysqli_real_escape_string($db, $comment);

    $sql = "INSERT into posts (sketch, comment) VALUES ('$filteredData', '$comment')";

    mysqli_query($db, $sql);

    header("Location: index.php");
}
?>

运行此命令后,它会将我发送到空白的白色网页(/testSave.php),但不起作用。

因此,我尝试将这些数据发送到单行中的“草图”( Canvas 数据所在位置)和“注释”(输入数据所在位置)下的 mysql 数据库表中。

如果有人能帮助我解决这个问题,我将非常感激。

最佳答案

我没有看到您定义了 $db 这可能是问题所在,因为您的代码不知道将数据插入到哪里。正如其他人所说,最好使用准备好的语句。

if(isset($_POST['canvasData']) and isset($_POST['post'])) {

$mysqlHost = "";
$mysqlUser = "";
$mysqlPassword = "";
$mysqlDatabase = "";

$db=mysqli_connect($mysqlHost, $mysqlUser, $mysqlPassword, $mysqlDatabase);
$img = $_POST['canvasData'];
$filteredData = substr($img, strpos($img, ",")+1);
$comment = strip_tags($_POST['comment']);

if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$stmt = $db->prepare("INSERT into posts (sketch, comment) VALUES (?, ?)");
$stmt->bind_param("ss", $filteredData, $comment);
$stmt->execute();
$stmt->close();
$db->close();
}
?>

关于php - 需要帮助将 HTML 和 Canvas 数据插入 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51902486/

相关文章:

php - 可以用 PHP 设置表单字段值吗?

php - 使用PHP备份MySQL数据库,然后加密文件上传到另一台服务器

php - Mysql NOT ON语句

php - Twig 中的多维数组

php - 在对象上下文中运行的回调函数?

php - 通知 : A non well formed numeric value encountered

html - css 链接自动边距到更大的链接

html - 图像没有正确褪色

javascript - 使用 Javascript 播放 HTML5 视频

mysql - 在mysql中连接到远程主机后无法连接到本地主机