PHP Анкета – рейтинг система
Автор: koko5
това е една простичка рейтинг система PHP/MySQL, която ограничава броя на възможните гласувания по IP.
първо създаваме таблицата:
DROP TABLE IF EXISTS `votez`;
CREATE TABLE `votez` (
`ip` char(32) NOT NULL default '',
`glas` enum('mysite','databg','zamunda','google','drug','other') default NULL,
PRIMARY KEY (`ip`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;обърнете внимание на host/user/pass/DBname-> трябва да ги промените с вашите.
забележете използването на първичния ключ и приложението му след това c INSERT IGNORE…:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<body>
<?php
error_reporting(0);
$db = mysql_connect("localhost","root","");
(empty($db)) ? die("SERVER ERROR"):mysql_select_db("DBNAME",$db);
$glasuval = 1;
if ($_SERVER['REMOTE_ADDR']){
if ($_POST['s1']) mysql_query("INSERT IGNORE INTO votez VALUES('".$_SERVER['REMOTE_ADDR']."','".$_POST['vote_check']."')",$db);
$rez = mysql_query("select * from votez where ip='".$_SERVER['REMOTE_ADDR']."'",$db);
if (!mysql_num_rows($rez)) $glasuval = 0;
}
$rez = mysql_query("select count(*) from votez where glas='mysite'",$db);
$red = mysql_fetch_row($rez);
if ($glasuval) echo("<center><h1>Вие вече сте гласувал! Вижте резултатите</h1></center>");
?>
<p align="left">Откъде теглите песни:</p>
<form method="post" name="vote" action="<?php echo($_SERVER['PHP_SELF']);?>">
<div id="dle-vote">
<div class="vote">
<input name="vote_check" type="radio" checked value="mysite">От този сайт <?php if ($glasuval) echo($red[0]);?></div>
<?php
$rez = mysql_query("select count(*) from votez where glas='databg'",$db);
$red = mysql_fetch_row($rez);
?>
<div class="vote"><input name="vote_check" type="radio" value="databg">От дата.бг <?php if ($glasuval) echo($red[0]);?></div>
<?php
$rez = mysql_query("select count(*) from votez where glas='zamunda'",$db);
$red = mysql_fetch_row($rez);
?>
<div class="vote"><input name="vote_check" type="radio" value="zamunda">От Замунда.нет <?php if ($glasuval) echo($red[0]);?></div>
<?php
$rez = mysql_query("select count(*) from votez where glas='google'",$db);
$red = mysql_fetch_row($rez);
?>
<div class="vote"><input name="vote_check" type="radio" value="google">От гугъл <?php if ($glasuval) echo($red[0]);?></div>
<?php
$rez = mysql_query("select count(*) from votez where glas='drug'",$db);
$red = mysql_fetch_row($rez);
?>
<div class="vote"><input name="vote_check" type="radio" value="drug">От друг <?php if ($glasuval) echo($red[0]);?></div>
<?php
$rez = mysql_query("select count(*) from votez where glas='other'",$db);
$red = mysql_fetch_row($rez);
?>
<div class="vote"><input name="vote_check" type="radio" value="other">Различно <?php if ($glasuval) echo($red[0]);?></div></div>
<?php mysql_close($db);
if (!$glasuval){
?>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td>
<input type="submit" name="s1" value="Гласувай" /></td>
</tr>
</table>
<?php }?>
</form>
</body>
</html>

