Система за вицове с категории + 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`)
);Ако на някои не му е ясно нещо или има въпроси, може да се свърже с мен във форума или на ЛС.


