Хотя я следовал примеру кода от http://api.jquery.com/jQuery.post/ и, конечно, Stackoverflow я не смог найти решение моей проблемы.Сообщение AJAX для php
У меня есть тумблер изображение в формате HTML, который каждый раз, когда пользователь нажимает на нее, изменяет изображение и обновлять колонку в DB.Here является код:
HTML
<input type="image" src="smileys/heart.gif" class="play" onclick="toggle(this,'<?php echo $ida;?>')"/>
AJAX
function toggle(el,al){
if(el.className=="play")
{
el.src='smileys/lol.gif';
el.className="pause";
$.post("update.php", { "hr": 1, "ida": al });
}
else if(el.className=="pause")
{
el.src='smileys/heart.gif';
el.className="play";
$.post("update.php", { "hr": 0, "ida": al });
}
console.log(al);
return false;
}
update.php
<?php
$host = "localhost";
$user = "user";
$pass = "pass";
$database = "db";
$heart=$_GET["hr"];
$ida=$_GET["ida"];
$con = mysql_connect($host,$user,$pass);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db($database, $con);
mysql_query("UPDATE tablename SET heart='$heart' WHERE id='$ida'");
?>
Функция переключения хорошо работает, но БД не обновляется, когда пользователь нажимает кнопку и изображение. Я считаю, что это связано с функцией $.post
, не передавая корректно данные на php.
BTW, если я сделать
http://domain.com/update.php?hr=1&ida=127
это работает.
ПРИМЕЧАНИЕ. Я использую mysql, а не PDO только для этого примера. ... и да, мой код грязный и уродливый, все еще учащийся. Любая помощь? Thanks
«Я использую mysql, а не PDO только для этого примера» - И вы делаете это так, чтобы открывать огромные дыры в безопасности. – Quentin
«все еще учится» - Почему вы изучаете устаревший API вместо лучшего, который будет по-прежнему хорошо поддерживаться? – Quentin
означает, что я преобразую его в PDO, когда его окончательный. – Theodoros80