гласуване по веднъж от 1 ип адрес на всеки един час

J01nt

Registered
как мога да направя да се гласува през 1 час от едно ип за неработещ линк ..

Код:
 <?php require_once("conf.php"); ?>
<html>

<head>
<link rel="stylesheet" href="files/default.css" type="text/css">
<script type='Text/JavaScript'>
var xmlHttp;
var theID;
function update(page, id) {
xmlHttp = GetXmlHttpObject();
document.getElementById(id).innerHTML = "load";   
if (xmlHttp == null) {
alert("Browser does not support HTTP Request");
return;
}
var date = new Date();
theID = id;
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET", page, true);
xmlHttp.send(null);
}
function stateChanged() {
if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
document.getElementById(theID).innerHTML = xmlHttp.responseText;
}
}
function GetXmlHttpObject() {
if (window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
return new XMLHttpRequest();
}
else {
alert("Your browser does not support AJAX.");
return false;
}
}
</script>
</head>

<body>

<?php

$select = mysql_query("SELECT * FROM `links`;");
while ($row = mysql_fetch_assoc($select)) {

echo "<a href='javascript:update("brocenup.php?id=" . $row['id'] . "", "element" . $row['id'] . "")' title='Тази песен не работи!" . $row['artist'] . " " . $row['title'] . "'><img src='images/broken.gif' onMouseOver='this.src="images/broken2.png"' onMouseOut='this.src="images/broken.gif"' style='border: 0px;' /></a> <span class='style2'><span  style='cursor:default'>[<span id='element" . $row['id'] . "'>". $row ['broken'] . "</span>]<br />";
}
?>

</body>

</html>


Код:
<?php
require_once("conf.php");
if (ctype_digit($_GET['id'])) {
$id = $_GET['id'];
$update = mysql_query("UPDATE links SET broken = broken + 1 WHERE id='" . $id . "'");
echo mysql_result(mysql_query("SELECT broken FROM links WHERE id='" . $id . "'"),0);
}
?>
 
devent каза:
Ето ти урок да видиш какъв е принципът -> http://web-tourist.net/login/login/view.php?st=2296

пробвах точно от тази тема да го променя и някак си да го свържа но не успях да за това се надявам накой ко успее да го направи .. :?:
 
Код:
<?
ob_start();
include("conf.php");
$sql = mysql_query("SELECT ctime FROM $dbtable WHERE ip=\"$ip\"");
if($row = mysql_fetch_array($sql)) {
$calc = $row['ctime'] + $vtime;
if ($calc > $time) { echo "Можете да гласувате само по веднъж за 24 часа!"; }
else {
$sqlQ = mysql_query("UPDATE $dbtable SET ctime = \"$time\" WHERE ip=\"$ip\"");
header("location: $link");
}
}
else {
$sql = mysql_query("INSERT into `$dbtable`(`ip`,`ctime`) VALUES ('$ip','$time')");
header("location: $link");
}
?>
Пробвай така
 
ем в база данни няма ли да се записва нещо ся като кликна и дава грешка

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\brocenup.php on line 5
 
заповядаи как ще стане
Код:
mysql.sql 

CREATE TABLE `bgtop` ( 
`ip` varchar(33) default NULL, 
`ctime` varchar(33) default NULL 
) ENGINE=MyISAM DEFAULT CHARSET=cp1251; 


conf.php 

<? 
$server = "localhost"; 
$dbuser = "username"; 
$dbpass = "password"; 
$dbname = "vote"; 
$dbtable = "bgtop"; 
$db_conn = mysql_connect($server, $dbuser, $dbpass); 
@mysql_select_db($dbname, $db_conn) or die(mysql_error()); 
$ip = $_SERVER["REMOTE_ADDR"]; 
$link = ""; // тук посочи твоя линк. 
$time = time(); 
$vtime = "3600"; // това е времето в секунди, за което ще може да се гласува. в случая е 24 часа. 
$dtime = "345600"; // времето, след което ще се изтриват ненужните записи. в случая е 4 дни(72 часа) 
function show() { 
echo '<a href="vote.php"><div style="width: 100%; height: 22px; position: absolute; top: 0px; left: 0px; z-index: 100; background-color: #ddd; text-align: center; font-size: 15px;">Натисни тук за да гласуваш за сайта :)</div></a>'; 
} 
?> 



index.php 

<? 
include("conf.php"); 
$sql = mysql_query("SELECT ctime FROM $dbtable WHERE ip=\"$ip\""); 
if($row = mysql_fetch_array($sql)) { 
$calc = $row['ctime'] + $vtime; 
if ($calc < $time) { show(); } 
} 
else { show(); } 
?> 



vote.php 


<? 
ob_start(); 
include("conf.php"); 
$sql = mysql_query("SELECT ctime FROM $dbtable WHERE ip=\"$ip\""); 
if($row = mysql_fetch_array($sql)) { 
$calc = $row['ctime'] + $vtime; 
if ($calc > $time) { echo "Можете да гласувате само по веднъж за 24 часа!"; } 
else { 
$sqlQ = mysql_query("UPDATE $dbtable SET ctime = \"$time\" WHERE ip=\"$ip\""); 
header("location: $link"); 
} 
} 
else { 
$sql = mysql_query("INSERT into `$dbtable`(`ip`,`ctime`) VALUES ('$ip','$time')"); 
header("location: $link"); 
} 
?> 


del.php 


<? 
include("conf.php"); 
$calc = $time - $dtime; 
$total = mysql_result(mysql_query("SELECT COUNT(ip) FROM $dbtable WHERE ctime < \"$calc\""), 0); 
$i = 0; 
while($i < $total) { 
$sql = mysql_query("DELETE from $dbtable WHERE ctime < \"$calc\""); 
$i++; 
} 
echo "Ненужните записи са изтрити успешно!"; 
?>
:twisted: :?:
 
е ти ми даваш лента за гласуване а аз с тоя код не мога да го свържа муча го от доста време :D ама една патка от много мислене и умряла за тва някои ако може да го направи с моя код някак си :)
 
еми то е тва прост само трябва да промениш линка и да не е лента а само линк и поесле с include го салгаш дет ти скимне :?: :?: :?:
edit: пиши на скипа ми да ти помгнааа ако не зацепвашш
 
Код:
<?php include 'conf.php';
if (($_GET['id'])) {
$id = $_GET['id'];
$now = time();
$ip = $_GET['ip'];
$kolko = "86400";
$check = mysql_query("SELECT * FROM links WHERE id=\"$id\"") or die(mysql_error());
$result = mysql_fetch_object($check);
if(($result->ctime+$kolko)>$now){
	echo "You can vote in 24 Hours";
}
else {
$ob = $now + $kolko;
$broken = $result->broken;
$broken = $broken+1;
$update = mysql_query("UPDATE links SET broken='$broken', ctime='$ob' WHERE id='$id'");
echo mysql_result(mysql_query("SELECT broken FROM links WHERE id='" . $id . "'"),0);
}
}
?>
Ето ти кода
 

Back
Горе