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

    Система за вицове с категории + MySQL – Част Първа

    Поради големия интерес, ето поредната готова системка 🙂 само дизайн може да и дадете повечко… Veryhappy

    започваме с index.php

    <?php include ("config.php"); ?>
    
    
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <title>Вицове</title>
    <style type="text/css">
    #nav
    {
    width: 199px;
    }
    #nav a
    {
    background-color: #ED3E3E;
    border-top: 1px solid #FC7171;
    border-left: 2px solid #71CE4D;
    border: 1px solid black;
    height: 17px;
    width: 176px;
    font-family: verdana;
    font-size: 11px;
    color: white;
    text-decoration: none;
    padding-left: 20px;
    padding-top: 2px;
    display: block;
    }
    #nav a:hover
    {
    text-decoration: none;
    background-color: #71CE4D;
    border-top: #A2EA86;
    border-bottom: 1px solid black;
    }
    #nav a:active {
    background-color: #52BCF7;
    text-decoration: none;
    border-top: #A2DBFC;
    border-left: 2px solid #52BCF7;
    </style>
    </head>
    
    <body>
    <table width="800px" border="0" cellspacing="5" cellpadding="0">
    <tr>
    <td colspan="2"> <h1>LOGO<h1></td>
    </tr>
    <tr>
    <td valign="top" width="200px">
    <!--kategoria-->
    <div id="nav">
    <?php
    
    
    mysql_connect($server, $dbusername, $dbpassword)or die("Сайтът не може да се свърже към базата данни");
    @mysql_select_db($db_name) or die("Грешна база данни");
    $query="SELECT * FROM kategorii ORDER BY cats ASC";
    $result=mysql_query($query);
    
    $num=mysql_numrows($result);
    
    mysql_close();
    
    $i=0;
    while ($i < $num) {
    
    $cats=mysql_result($result,$i,"cats");
    $id_cat=mysql_result($result,$i,"id_cat");
    
    echo "<a href=view.php?id_cat=$id_cat>$cats</a>";
    
    $i++;
    }
    echo "<br>";
    echo "<a href=index.php>Начало</a>";
    echo "<a href=add.php>Добави виц</a>";
    ?>
    </div>
    <!--kategoria-->
    </td>
    <td valign="top" width="600px">
    <!--posledni 10-->
    <table width="100%" border="1">
    <?php
    
    
    mysql_connect($server, $dbusername, $dbpassword)or die("Сайтът не може да се свърже към базата данни");
    @mysql_select_db($db_name) or die("Грешна база данни");
    $query="SELECT * FROM vicove WHERE status='on' ORDER BY id_vic DESC LIMIT 0,10";
    $result=mysql_query($query);
    
    $num=mysql_numrows($result);
    
    mysql_close();
    
    $i=0;
    while ($i < $num) {
    
    $potrebitel=mysql_result($result,$i,"potrebitel");
    $vreme=mysql_result($result,$i,"vreme");
    $vic=mysql_result($result,$i,"vic");
    $email=mysql_result($result,$i,"email");
    
    ?>
    
    <tr>
    <td width="50%"> Добавил: <a href="mailto:<?php echo $email; ?>"><?php echo $potrebitel; ?></a></td>
    <td width="50%"> Дата:<?php echo $vreme; ?></td>
    </tr>
    <tr>
    <td align="justify" width="100%" colspan="2"><?php echo $vic; ?> </td>
    </tr>
    <tr>
    <td width="100%" colspan="2"> </td>
    </tr>
    
    <?php
    $i++;
    }
    
    ?>
    <table>
    <!--posledni 10-->
    </td>
    </tr>
    <tr>
    <td colspan="2"> </td>
    </tr>
    </table>
    </body>
    </html>

    add.php

    <?php include ("config.php"); ?>
    
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <title>Вицове</title>
    <style type="text/css">
    #nav
    {
    width: 199px;
    }
    #nav a
    {
    background-color: #ED3E3E;
    border-top: 1px solid #FC7171;
    border-left: 2px solid #71CE4D;
    border: 1px solid black;
    height: 17px;
    width: 176px;
    font-family: verdana;
    font-size: 11px;
    color: white;
    text-decoration: none;
    padding-left: 20px;
    padding-top: 2px;
    display: block;
    }
    #nav a:hover
    {
    text-decoration: none;
    background-color: #71CE4D;
    border-top: #A2EA86;
    border-bottom: 1px solid black;
    }
    #nav a:active {
    background-color: #52BCF7;
    text-decoration: none;
    border-top: #A2DBFC;
    border-left: 2px solid #52BCF7;
    </style>
    </head>
    
    <body>
    <table width="800px" border="0" cellspacing="5" cellpadding="0">
    <tr>
    <td colspan="2"> <h1>LOGO<h1></td>
    </tr>
    <tr>
    <td valign="top" width="200px">
    <div id="nav">
    <?php
    
    
    mysql_connect($server, $dbusername, $dbpassword)or die("Сайтът не може да се свърже към базата данни");
    @mysql_select_db($db_name) or die("Грешна база данни");
    $query="SELECT * FROM kategorii ORDER BY cats ASC";
    $result=mysql_query($query);
    
    $num=mysql_numrows($result);
    
    mysql_close();
    
    $i=0;
    while ($i < $num) {
    
    $cats=mysql_result($result,$i,"cats");
    $id_cat=mysql_result($result,$i,"id_cat");
    
    echo "<a href=view.php?id_cat=$id_cat>$cats</a>";
    
    $i++;
    }
    echo "<br>";
    echo "<a href=index.php>Начало</a>";
    echo "<a href=add.php>Добави виц</a>";
    ?>
    </div>
    </td>
    <td valign="top" width="600px">
    <table>
    <?php
    $a = rand(0,99);
    $b = rand(0,9);
    $c = rand(0,99);
    $d = rand(0,9);
    
    $random = "$a"."$b"."$c"."$d";
    
    ?>
    <form action=add.php method=post name=form>
    <input type="hidden" value="<?php echo $_SERVER['REMOTE_ADDR']; ?>" name="ip">
    <input type="hidden" value="<?php print(date("j.m.Y")); ?>" name="vreme">
    <input type="hidden" value="<?php echo $stat; ?>" name="status">
    
    <tr>
    <td>Име</td>
    <td><input name=potrebitel type=text class=form size="50"></td>
    </tr>
    <tr>
    <td>Email</td>
    <td><input name=email type=text class=form size="50"></td>
    </tr>
    <tr>
    <td>Секретен код</td>
    <td><input class=commentbox name=code1 type=text id=code1 value=<?php echo $random ?> class=form></td>
    </tr>
    <tr>
    <td>Повтори кода </td>
    <td><input class=commentbox name=code2 type=text class=form size="20"></td>
    </tr>
    <tr>
    <td>Категория</td>
    <td> <select name=id_cat>
    <?php
    
    
    mysql_connect($server, $dbusername, $dbpassword)or die("Сайтът не може да се свърже към базата данни");
    @mysql_select_db($db_name) or die("Грешна база данни");
    $query="SELECT * FROM kategorii ORDER BY cats ASC";
    $result=mysql_query($query);
    
    $num=mysql_numrows($result);
    
    mysql_close();
    
    $i=0;
    while ($i < $num) {
    
    $cats=mysql_result($result,$i,"cats");
    $id_cat=mysql_result($result,$i,"id_cat");
    ?>
    <option name=cats value="<?php echo $id_cat ?>"><?php echo $cats ?></option>
    <?php
    $i++;
    }
    
    ?>
    
    </select></td>
    </tr>
    <tr>
    <td>Виц</td>
    <td><textarea rows="7" name="vic" cols="60" type="text"></textarea></td>
    </tr>
    <tr>
    <td> <br></td>
    <td><input type=submit name=Submit value=Публикуване class=form></td>
    </tr>
    </table>
    </form>
    
    <?php
    
    if($_POST['Submit']){
    
    $potrebitel = $_POST['potrebitel'];
    $email = $_POST['email'];
    $id_cat = $_POST['id_cat'];
    $vreme = $_POST['vreme'];
    $vic = $_POST['vic'];
    $status = $_POST['status'];
    $ip = $_POST['ip'];
    
    $code1 = $_POST['code1'];
    $code2 = $_POST['code2'];
    if(empty($potrebitel)){
    echo "Моля, въведете име";
    die();
    };
    if(empty($email)){
    echo "Моля въведете email";
    die();
    };
    if(empty($vic)){
    echo "Моля, въведете виц";
    };
    if($code1 !== $code2){
    echo "Кода не съвпада";
    die();
    };
    
    $vic = str_replace("<", "<", $vic);
    $vic = str_replace(">", ">", $vic);
    $vic = str_replace("\n", "<br>", $vic);
    
    
    mysql_connect($server, $dbusername, $dbpassword)or die("Сайтът не може да се свърже към базата данни");
    @mysql_select_db($db_name) or die("Грешна база данни");
    $query = "INSERT INTO `vicove` ( `id_vic` , `id_cat` , `vreme` , `potrebitel`, `email`, `vic`, `ip`, `status`)
    VALUES (
    'NULL', '$id_cat', '$vreme', '$potrebitel', '$email', '$vic', '$ip', '$status'
    );";
    $ok = mysql_query($query);
    if($ok){
    echo "Вица е добавен, моля изчакайте!<META HTTP-EQUIV=\"refresh\" CONTENT=\"2; URL=index.php\">";
    }else{
    echo "Възникна грешка";
    }
    };
    
    ?>
    </table>
    </td>
    </tr>
    <tr>
    <td colspan="2"> </td>
    </tr>
    </table>
    </body>
    </html>

    view.php

    <?php include ("config.php"); ?>
    
    
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <title>Вицове</title>
    <style type="text/css">
    #nav
    {
    width: 199px;
    }
    #nav a
    {
    background-color: #ED3E3E;
    border-top: 1px solid #FC7171;
    border-left: 2px solid #71CE4D;
    border: 1px solid black;
    height: 17px;
    width: 176px;
    font-family: verdana;
    font-size: 11px;
    color: white;
    text-decoration: none;
    padding-left: 20px;
    padding-top: 2px;
    display: block;
    }
    #nav a:hover
    {
    text-decoration: none;
    background-color: #71CE4D;
    border-top: #A2EA86;
    border-bottom: 1px solid black;
    }
    #nav a:active {
    background-color: #52BCF7;
    text-decoration: none;
    border-top: #A2DBFC;
    border-left: 2px solid #52BCF7;
    </style>
    </head>
    
    <body>
    <table width="800px" border="0" cellspacing="5" cellpadding="0">
    <tr>
    <td colspan="2"> <h1>LOGO<h1></td>
    </tr>
    <tr>
    <td valign="top" width="200px">
    <!--kategoria-->
    <div id="nav">
    <?php
    
    
    mysql_connect($server, $dbusername, $dbpassword)or die("Сайтът не може да се свърже към базата данни");
    @mysql_select_db($db_name) or die("Грешна база данни");
    $query="SELECT * FROM kategorii ORDER BY cats ASC";
    $result=mysql_query($query);
    
    $num=mysql_numrows($result);
    
    mysql_close();
    
    $i=0;
    while ($i < $num) {
    
    $cats=mysql_result($result,$i,"cats");
    $id_cat=mysql_result($result,$i,"id_cat");
    
    echo "<a href=view.php?id_cat=$id_cat>$cats</a>";
    
    $i++;
    }
    echo "<br>";
    echo "<a href=index.php>Начало</a>";
    echo "<a href=add.php>Добави виц</a>";
    ?>
    </div>
    <!--kategoria-->
    </td>
    <td valign="top" width="600px">
    <!--posledni 10-->
    <table width="100%" border="1">
    <?php
    
    $id_cat=$_GET['id_cat'];
    mysql_connect($server, $dbusername, $dbpassword)or die("Сайтът не може да се свърже към базата данни");
    @mysql_select_db($db_name) or die("Грешна база данни");
    
    
    $pp = "10";
    
    
    
    $total = mysql_result(mysql_query("SELECT COUNT(id_vic) FROM vicove"),0);
    $numofpages = $total / $pp;
    if (!isset($_GET['page'])) {
    $page = 1;
    }
    else {
    $page = $_GET['page'];
    }
    $limitvalue = $page * $pp - ($pp);
    
    
    $query = "SELECT * FROM vicove WHERE id_cat='$id_cat' ORDER BY id_vic DESC LIMIT $limitvalue, $pp";
    $result = mysql_query($query);
    while($r=mysql_fetch_array($result))
    {
    
    $vic=$r[vic];
    $potrebitel=$r[potrebitel];
    $vreme=$r[vreme];
    $email=$r[email];
    
    
    echo "<tr>
    <td width=50%> Добавил: <a href=mailto:$email>$potrebitel</a></td>
    <td width=50%> Дата: $vreme</td>
    </tr>
    <tr>
    <td align=justify width=100% colspan=2>$vic</td>
    </tr>
    <tr>
    <td width=100% colspan=2> </td>
    </tr>";
    }
    
    
    ?>
    <table>
    <!--posledni 10-->
    </td>
    </tr>
    <tr>
    <td colspan="2"> </td>
    </tr>
    </table>
    <?php
    echo 'Общо страници: '.round($numofpages).'<br>';
    ?>
    <center>
    <?php
    
    function per_page($link, $offset) {
    global $numofpages, $page;
    $numofpages = round($numofpages);
    
    $pagesstart = round($page-$offset);
    $pagesend = round($page+$offset);
    
    
    if ($page != "1" && round($numofpages) != "0") {
    echo str_replace("%page", round($page-1), '<a href="'.$link.'"><font face="Trebuchet MS">«</font></a> ');
    }
    
    for($i = 1; $i <= $numofpages; $i++) {
    if ($pagesstart <= $i && $pagesend >= $i) {
    if ($i == $page) {
    echo "<b>[$i]</b> ";
    }
    else {
    echo str_replace("%page", "$i", '<a href="'.$link.'">'.$i.'</a> ');
    }
    }
    }
    if (round($numofpages) == "0") {
    echo "[$i]";
    }
    
    if ($page != round($numofpages) && round($numofpages) != "0") {
    echo str_replace("%page", round($page+1), '<a href="'.$link.'"><font face="Trebuchet MS">»</font></a>');
    }
    }
    
    per_page("?id_cat=$id_cat&page=%page", "5");
    ?>
    </center>
    </body>
    </html>
    

    config.php

    <?php
    //server connfigure
    $server = "localhost";
    $dbusername = "root";
    $dbpassword = "";
    $db_name = "vicove";
    
    //това е настройка дали да се одобряват от администратора вицовете след тяхното
    //публикуване. При положение "off" трябва да бъдат добавени от администратора,
    //а при "on" нямат нужда от добавяне от администратора.
    $stat = "off";
    
    ?>

    и базата която трябва да ползвате 🙂

    CREATE TABLE `kategorii` (
    `id_cat` int(8) auto_increment,
    `cats` varchar(250),
    PRIMARY KEY (`id_cat`)
    );
    
    
    
    CREATE TABLE `vicove` (
    `id_vic` int(11) auto_increment,
    `id_cat` varchar(8),
    `vreme` varchar(30),
    `potrebitel` varchar(50),
    `email` varchar(50),
    `vic` text,
    `ip` varchar(30),
    `status` varchar(5),
    PRIMARY KEY (`id_vic`)
    );

    Ако на някои не му е ясно нещо или има въпроси, може да се свърже с мен във форума или на ЛС.