我正在尝试用HTML/JavaScript制作一个绘图应用程序,我想将文件保存到MySQL/phpMyAdmin中。我的问题是连接到我设置的数据库。
用户在画布上绘制,点击保存按钮后,我会从我的JavaScript文件发送线条(保存在数组中)和用户名到一个PHP文件,该文件将信息发送到数据库。我已经尝试在网上寻找解决方案,但似乎找不到任何有用的信息。可能就在我的眼前,但我从未尝试过编写JavaScript和PHP。
为了确保没有混淆:我无法弄清楚如何从我的JavaScript文件发送数据到我的PHP文件并更新数据库。
以下是我目前的代码:
HTML:
我在Chrome或Firefox中运行此代码时,控制台没有任何输出,并且数据库中也没有任何内容。
如果您需要更多信息,请告诉我。该数据库仅有3个字段:自动递增的ID、作者和职位。
用户在画布上绘制,点击保存按钮后,我会从我的JavaScript文件发送线条(保存在数组中)和用户名到一个PHP文件,该文件将信息发送到数据库。我已经尝试在网上寻找解决方案,但似乎找不到任何有用的信息。可能就在我的眼前,但我从未尝试过编写JavaScript和PHP。
为了确保没有混淆:我无法弄清楚如何从我的JavaScript文件发送数据到我的PHP文件并更新数据库。
以下是我目前的代码:
HTML:
<button id="saveimage" onclick="saveImage()">Save image</button>
Javascript:
function saveImage()
{
var position = JSON.stringify(allMousePos);
author = prompt("Please type your name");
$.ajax({
type: 'post',
url: 'https://localhost/folder/database.php',
data: {author: author, position: position},
success: function( data ) {
console.log( data );
}
});
}
PHP:
$dbhost = 'localhost';
$dbuser = 'User';
$dbpass = 'pass';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if (!$conn)
{
die('Could not connect: ' . mysql_error());
}
if (!get_magic_quotes_gpc())
{
$author = addslashes($_POST['author']);
$mousepositions = addslashes($_POST['position']);
} else
{
$author = $_POST['name'];
$mousepositions = $_POST['position'];
}
var_dump($author);
$sql = "INSERT INTO Images (Author, Image) VALUES ('$author', '$mousepositions')";
mysql_select_db('db_to_use');
$retval = mysql_query($sql, $conn);
if (!$retval)
{
die('Could not enter data: ' . mysql_error());
}
echo "Entered data successfully\n";
mysql_close($conn);
我在Chrome或Firefox中运行此代码时,控制台没有任何输出,并且数据库中也没有任何内容。
如果您需要更多信息,请告诉我。该数据库仅有3个字段:自动递增的ID、作者和职位。
addslashes
是非常危险的不安全的。mysql_query
是一个过时的接口,在新应用程序中不应该使用,并且将在未来版本的PHP中被删除。PDO并不难学。像PHP The Right Way这样的指南可以解释最佳实践。 - undefined