Имам AJAX рейтинг, проблема е там че като натисна на картинката нагоре.. в смисъл да дам положителен вот не ми отчита просто става бяла страницата и това е.. не отчита нищо не записва в БД ..
..ето и файловете:
connect.php:
index.php:
vote.js:
vote.php:
:|
connect.php:
Код:
<?php
define("HOST", "localhost");
define("USER", "root");
define("PASS", "");
define("BD", "ratingsystem");
$db_conn = @mysql_connect(HOST, USER, PASS) or die(mysql_error());
@mysql_select_db(BD, $db_conn) or die(mysql_error());
define("TIMESTAMP_VOTE", 24);
?>
index.php:
Код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<?php $id = (is_numeric($_GET['id']) && $_GET['id'] > 0) ? $_GET['id'] : 0; ?>
<script type="text/javascript" src="vote.js"></script>
<script language="JavaScript">
function movepic(img_name,img_src) {
document[img_name].src=img_src;
}
</script>
</head>
<?php
require "connect.php";
$row = mysql_fetch_array(mysql_query("SELECT `yes`,`no` FROM `votes` WHERE `id` = '$id'"));
$yess = (empty($row['yes'])) ? 0 : $row['yes'];
$noo = (empty($row['no'])) ? 0 : $row['no'];
$timestamp_vote = (is_numeric(TIMESTAMP_VOTE) && TIMESTAMP_VOTE > 0) ? time() - (TIMESTAMP_VOTE * 3600) : 0;
$query = mysql_query("SELECT `vote` FROM `ips` WHERE `id` = '$id' AND `ip` = '".$_SERVER['REMOTE_ADDR']."' AND `timestamp` > '$timestamp_vote' LIMIT 1");
$vote_ip = mysql_fetch_object($query);
$vote_yes = (($vote_ip -> vote) == 1) ? "vote_up" : "vote_up2";
$vote_no = (($vote_ip -> vote) == -1) ? "vote_down" : "vote_down2";
?>
<body>
<div id="txtHint"><?php if (!mysql_num_rows($query)) { ?><a href="javascript:void(null)" onclick="showHint('1','<?php echo $id?>')" onmouseover="movepic('pic1','vote_up.gif');"
onmouseout="movepic('pic1','vote_up2.gif');"><?php } ?><img name="pic1" src="<?php echo $vote_yes?>.gif" border="0"><?php if (!mysql_num_rows($query)) { ?></a><?php } ?> <b><?php echo $yess?></b>
<?php if (!mysql_num_rows($query)) { ?><a href="javascript:void(null)" onclick="showHint('-1','<?php echo $id?>')" onmouseover="movepic('pic2','vote_down.gif');"
onmouseout="movepic('pic2','vote_down2.gif');"><?php } ?><img name="pic2" src="<?php echo $vote_no?>.gif" border="0"><?php if (!mysql_num_rows($query)) { ?></a><?php } ?> <b><?php echo $noo?></b></div>
</body>
</html>
vote.js:
Код:
var xmlHttp
function showHint(str, id)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="vote.php"
url=url+"?q="+str
url=url+"&id="+id+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText
}
}
function GetXmlHttpObject()
{
var objXMLHttp=null
if (window.XMLHttpRequest)
{
objXMLHttp=new XMLHttpRequest()
}
else if (window.ActiveXObject)
{
objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
}
return objXMLHttp
}
vote.php:
Код:
<?php
require "connect.php";
if (($_GET['q'] == -1 || $_GET['q'] == 1) && is_numeric($_GET['id']) && $_GET['id'] > 0)
{
$glasove = mysql_fetch_object(mysql_query("SELECT `yes`,`no` FROM `votes` WHERE `id` = '".$_GET['id']."' LIMIT 1"));
$timestamp_vote = (is_numeric(TIMESTAMP_VOTE) && TIMESTAMP_VOTE > 0) ? time() - (TIMESTAMP_VOTE * 3600) : 0;
$query = mysql_query("SELECT * FROM `ips` WHERE `id` = '".$_GET['id']."' AND `ip` = '".$_SERVER['REMOTE_ADDR']."' AND `timestamp` > '$timestamp_vote' LIMIT 1");
if (!mysql_num_rows($query))
{
$yes = ($_GET['q'] == 1) ? 1 : 0;
$no = ($_GET['q'] == -1) ? 1 : 0;
$vote_yes = ($_GET['q'] == 1) ? "vote_up" : "vote_up2";
$vote_no = ($_GET['q'] == -1) ? "vote_down" : "vote_down2";
$sql = "INSERT INTO `votes` (`id`,`yes`,`no`) VALUES ('".$_GET['id']."','$yes','$no')";
if (!mysql_query($sql))
{
mysql_query("UPDATE `votes` SET `yes` = yes + $yes,`no` = no + $no WHERE `id` = '".$_GET['id']."'");
}
$count_ip = mysql_fetch_object(mysql_query("SELECT COUNT(*) as 'kolko' FROM `ips` WHERE `id` = '".$_GET['id']."' AND `ip` = '".$_SERVER['REMOTE_ADDR']."' LIMIT 1"));
if (!$count_ip -> kolko)
{
mysql_query("INSERT INTO `ips` (`id`,`ip`,`vote`,`timestamp`) VALUES ('".$_GET['id']."','".$_SERVER['REMOTE_ADDR']."','".$_GET['q']."','".time()."')");
}
else
{
mysql_query("UPDATE `ips` SET `vote` = '".$_GET['q']."',`timestamp` = '".time()."' WHERE `id` = '".$_GET['id']."' AND `ip` = '".$_SERVER['REMOTE_ADDR']."' LIMIT 1");
}
echo "<img src=\"".$vote_yes.".gif\" border=\"0\"> <b>".(($glasove -> yes) + $yes)."</b> <img src=\"".$vote_no.".gif\" border=\"0\"> <b>".(($glasove -> no) + $no)."</b>";
}
else
{
echo "<img src=\"".$vote_yes.".gif\" border=\"0\"> <b>".(($glasove -> yes) + $yes)."</b> <img src=\"".$vote_no.".gif\" border=\"0\"> <b>".(($glasove -> no) + $no)."</b>";
}
}
?>
:|