0

問題があります。

そのコードは、成功またはエラーの後にサイトの画像を変更する必要があります。

ペーストビン

if(isset($func) and $func == 'claim_bonus'){
global $ado;
$user = escape($_GET['user']);
$type = escape($_GET['type']);
$now = date("Y-m-d H:i:s");
$points = rand(1,20);

$query = $ado->exec("INSERT INTO `claimed_bonuses` SET `user` = '$user', `date` = '$now', `type` = '$type'");
$query1 = $ado->exec("INSERT INTO `history` SET `user` = '$user', `date` = '$now', `type` = 'bonus', `amount` = '$points', `title` = 'Bonus Claimed', `description` = '$user claimed bonus $points points'");
$query2 = $ado->exec("update `balances` SET `actual` = actual+$points, `total` = total+$points");


if ($query && $query1 && $query2) { 
echo "<img src=\"/img/bonus/add_used.png\" width=\"30%\" height=\"30%\" alt=\"Bonus claimed\" />";
    } else {
    echo "<img src=\"/img/bonus/error.png\" width=\"30%\" height=\"30%\" alt=\"Error\" />";
    } 

}

ajax.jsファイルを使用してajaxを呼び出しています

// JavaScript Document
var xmlhttp=false;


function claimbonus(user, type, id){
    xmlhttp = new XMLHttpRequest(); 
    xmlhttp.abort();
xmlhttp.open("GET", "/functions/ajax.php?func=claim_bonus&user="+user+"&type="+type, true);
xmlhttp.onreadystatechange=function() {
    if(xmlhttp.status == 200) {
     document.getElementById(id).innerHTML = xmlhttp.responseText;
    }
}
    xmlhttp.send(null);  
}

そして、コードがページにロードされます。

スクリプトは画像を返しますが、古い画像を置き換えません。

画像コード:

<img src="img/bonus/add.png" width="30%" height="30%" alt="Claim bonus" id="add_img" onclick="claimbonus(<?php echo $_SESSION['userid']; ?>, '<?php echo $type; ?>', 'add_img'); return false"/>

誰かが私を助けてくれることを願っています

4

1 に答える 1

0

image タグの innerHTML を置き換えています。div または span でラップし、代わりにそれを置き換えて、ユーザー ID も引用します

<span id="add_img"><img 
src="img/bonus/add.png" width="30%" height="30%" 
alt="Claim bonus" 
onclick="claimbonus('<?php echo $_SESSION['userid']; ?>', 
'<?php echo $type; ?>', 'add_img')/></span>
于 2013-05-20T20:58:02.127 に答える