Webmaster общности: Predpriemach.com | SearchEngines.bg

    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>