Гласуване през 24 часа?

boor

Registered
index.php

Код:
<?php
$con = mysql_connect('localhost', 'root', '') or die(mysql_error());
$sdb = mysql_select_db('helpzafr', $con) or die(mysql_error());
$result = mysql_query('SELECT id, sait, scores FROM tochki') or die(mysql_error());
while( $student = mysql_fetch_object($result) ) /* този код, ще обходи всички редове прочетени от таблицата students */
{
      echo '<div>
            <p>Ученик: '.$student->username.' - Успех: '.$student->scores.' </p> -
            <a href="index.php?id='.$student->id.'&vote=1">Увеличи Успеха с еденица</a>
                  |
            <a href="index.php?id='.$student->id.'&vote=0">Намали Успеха с еденица</a>
      </div>';
}
if( isset($_GET['id']) && isset($_GET['vote']) )
{
mysql_query('UPDATE tochki SET scores = scores'.($_GET['vote'] == 0 ? '-1' : '+1').' WHERE id = '.(int)$_GET['id'].' LIMIT 1');
}
?>

и

db.sql

Код:
CREATE TABLE `tochki` (
`id` tinyint(11) NOT NULL auto_increment,
`sait` varchar(255) collate utf8_unicode_ci NOT NULL,
`scores` varchar(25) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;


Как може да направя така че от 1 IP да се гласува само 1 път на ученик.Тоест сега гласуваш за ученика Сашо със -1,и в следващите 24 часа не може да гласуваш за него,обаче може да гласуваш за другите.

Ако може директен едит върху кода.
Мерси предварително.
 
Сега не мога да ти дам директен едит върхукода.но идеята е следната:
прваиш една таблица в БД - tochki_ip
с полета ip и date
и при гласуване записваш IP-то на потребителя и момента в който гласува с NOW() примерно и после правиш проверка дали IP-то е гласувало в този ден и ако е .. ако не е... :?:
 
index.php

Код:
<?php 
$con = mysql_connect('localhost', 'root', '') or die(mysql_error()); 
$sdb = mysql_select_db('helpzafr', $con) or die(mysql_error()); 
$result = mysql_query('SELECT id, sait, scores FROM tochki') or die(mysql_error()); 
$ip = $_SERVER['REMOTE_ADDR']; 
$check=time()+86400;
$result1=ysql_query("SELECT * FROM tochki_ip WHERE ip='$ip' and data<'$check'");
$ip_check=mysql_num_rows($result1);
if($ip_check=0)
{
while( $student = mysql_fetch_object($result) ) /* този код, ще обходи всички редове прочетени от таблицата students */ 
{ 
      echo '<div> 
            <p>Ученик: '.$student->username.' - Успех: '.$student->scores.' </p> - 
            <a href="index.php?id='.$student->id.'&vote=1">Увеличи Успеха с еденица</a> 
                  | 
            <a href="index.php?id='.$student->id.'&vote=0">Намали Успеха с еденица</a> 
      </div>'; 
} 
if( isset($_GET['id']) && isset($_GET['vote']) ) 
{ 
mysql_query('UPDATE tochki SET scores = scores'.($_GET['vote'] == 0 ? '-1' : '+1').' WHERE id = '.(int)$_GET['id'].' LIMIT 1'); 
$data=time();
$write=mysql_query("INSERT INTO tochki_ip (ip, data) VALUES ($ip, $data)");
}
}
else
{
echo("Гласувал си в последните 24 часа!");
} 
?>

db.sql

Код:
CREATE TABLE `tochki` ( 
`id` tinyint(11) NOT NULL auto_increment, 
`sait` varchar(255) collate utf8_unicode_ci NOT NULL, 
`scores` varchar(25) collate utf8_unicode_ci NOT NULL, 
PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1

db1.sql

Код:
CREATE TABLE `tochki_ip` ( 
`ip` varchar(50)  NOT NULL auto_increment, 
`data` varchar(255) collate utf8_unicode_ci NOT NULL, 
PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1

Това ми дойде така на прима виста :D не обещавам че ще стане
БЯХ ОБЪРКАЛ ТАБЛИЦАТА ЗА БД-то
 
Код:
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: NO) in /var/www/freehost/topbulgariancars/index.php on line 47
Access denied for user 'root'@'localhost' (using password: NO)

47-ми ред...

Код:
$con = mysql_connect('localhost', 'root', '') or die(mysql_error());
 

Back
Горе