Поэтому я пытаюсь сделать приложение для рисования в html / javascript, где я хочу сохранить файлы в mysql / phpmyadmin. Моя проблема связана с базой данных, которую я настроил.
Происходит то, что пользователь рисует на холсте, нажимает кнопку сохранения, и я отправляю строки (сохраненные в массиве) и имя пользователя из моего файла 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 поля, идентификатор, который автоматически увеличивается, а затем автора и позиции.
Не забудьте декодировать ваши данные (ранее закодированные JSON.stringify).
Попробуйте добавить json_decode () и отобразите все свои переменные с помощью var_dump (), прежде чем пытаться работать с вашей базой данных.
Надеюсь, поможет.
Согласно моему комментарию, у вас есть ненужный вложенный обработчик щелчков внутри вашей функции, поэтому удалите его. Также вы пытаетесь установить безопасное соединение, но (вероятно) на вашем компьютере не установлен ssl, поэтому вам нужно установить обычное соединение (http, а не https):
function saveImage()
{
var position = JSON.stringify(allMousePos);
author = prompt("Please type your name");
$.ajax({
type: 'post',
url: 'http://localhost/folder/database.php', //<--Note http
data: {author: author, position: position},
success: function( data ) {
console.log( data );
}
});
}