- •Интернет дүкендерге шолу
- •1.1.1«Интернет-дүкен» мынадай қызметтерден тұрады:
- •1.1.2 Қолдану аймағы
- •1.1.3 Интернет дүкенді тұрақты басқару.
- •Интернет дүкенді ақпараттық тұрғыдан көмек беру
- •Интернет дүкенің басқару функциясы
- •1.1.7 Электронды дүкеннің басқару жүйесін зерттеу
- •1.1.9 Ғаламтор саудасы: Қауіпсіздіктің қарапайым ережелері
- •1.2 Жұмыс интерфейстеріне талаптар
- •Қолданушы интерфейсі
- •Аппараттық интерфейс
- •1.2.1.3 Есептің қойлымы
- •2 Программаны қолдану құралдарын таңдау негіздері.
- •2.1 Интернет желісі
- •2.1.1 Гипермәтін концепциясы
- •2.1.2 Браузерлер
- •Apache http Server проектісі
- •Apache архитектурасы
- •Конфигурациялық структура
- •Php негізгі қызметі
- •3 Web магазин құрамындағы мәліметтер базасы
- •Сурет 3.14 - Жаңалық қосу формасы Жоғарыдағы суретте жаңалық қосу формасы көрсетілген. Бұл формаға localhost/add_news теру арқылы енеміз.
- •3.2 Windows платформасында MySql жұмыс жасауы
- •3.2.1 Сервермен байланыс орнату және байланыс үзу
- •3.3 Мәліметтер базасы жүйесі
- •Gid (int) - тауар id Quantity (int) – тауар саны oid (int) – сатып алған тауар id.
- •3.3.1 Жұмысты тестілеу
- •Қорытынды
- •Пайдаланылған әдебиеттер тізімі
- •А Қосымшасы
- •Б Қосымшасы
Б Қосымшасы
Программа тексті
install.php
<?
//connect with database
include ("cfg/connect.inc");
mysql_connect($DB_HOST,$DB_USER,$DB_PASS) or die (mysql_error());
mysql_select_db($DB_NAME) or die (mysql_error());
//crate tables
mysql_query("CREATE TABLE Orders (OID INT PRIMARY KEY AUTO_INCREMENT, Name CHAR(50), Email CHAR(50), Address CHAR(100))") or die (mysql_error());
mysql_query("CREATE TABLE OrderedCarts (GID INT, Quantity INT, OID INT)") or die (mysql_error());
mysql_query("CREATE TABLE GoodsList (CID INT, ID INT PRIMARY KEY AUTO_INCREMENT, Name CHAR(200), Price FLOAT, Picture CHAR(40))") or die (mysql_error());
mysql_query("CREATE TABLE Categories (CID INT PRIMARY KEY AUTO_INCREMENT, Name CHAR(30))") or die (mysql_error());
?>
Installation complete.
Run <a href="index.php">index.php</a>
2. index.php(main page)
<? //main page
function showGood($a,$cat) { //draw table with picture $a, name, price...
//$cat -- path to category
echo "<center><p><table width=95% border=0 cellspacing=1 cellpadding=2 bgcolor=#E1E6FC>\n";
echo "<tr bgcolor=#D1D9F8>\n<td colspan=3><font color=#3551C7>".$cat."</font></td>\n</tr>\n";
echo "<tr bgcolor=#FFFFFF>\n<td rowspan=2 width=1% align=center valign=top>\n";
//show the picture of good
//goods image
if ($a[4] && file_exists("goods_pictures/".$a[4]))
echo "<img src=\"goods_pictures/".$a[4]."\" border=0>\n";
else //no foto
echo "<img src=\"images/no_image.jpg\" border=0>\n";
echo "</td>\n";
echo "<td width=80%>\n";
echo "<font class=cat><b>".$a[2]."</b></font>\n";
if ($a[3]>0) { //if price > 0 then link to basket
$f=2;
echo "</td><td bgcolor=#FFFFFF align=center><a href=\"javascript:open_window('cart.php?add=".$a[1]."',400,300);\"><img src=\"images/cart.jpg\" border=0 alt=\"in basket\"></a></td>\n";
}
else $f = 1;
echo "<tr bgcolor=#FFFFFF><td colspan=$f><b>Price: <font class=cat color=red>";
echo $a[3] ? $a[3]."$" : "n/a";
echo "</font></b></td></tr>\n";
echo "</table></p></center>\n\n";
};
include("head.incl"); //logo
//main table: list of categories, goods and e.t.c.
?>
<table border=0 width=70% cellspacing=15 cellpadding=15>
<tr>
<?
include "config.php";
$openfile=file($base);
$strings=count($openfile);
$divide=$strings/$nums;
$pages=intval($divide);
print "<b><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"4\"color=\"navy\">News: ";
if($strings <= 5)
print "</b></font>";
else {
if($divide==$pages)
$lol=$pages;
else
$lol=$pages+1;
for($k=1; $k<=$lol; $k++) {
if($k!=$page)
print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\"><a id=list href=\"news.php?page=$k\">$k</a></font> ";
else
print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\"><b>$k</b> </font>";
}
}
print "<HR SIZE = '2' COLOR = 'navy'>";
if(!isset($page))
$page=1;
$q=$page-1;
$qq=$nums*$q;
$up=$strings-$qq;
$down=$up-$nums;
for($i=$up-1; $i>=$down; $i--) {
$k=$i+1;
list($title,$msg,$link,$date)=split("::",$openfile[$i]);
if ($k > 0)
{
print "
<BR><font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">News from: $date</font><BR>
<font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\"><B>$title</B></font><BR>
<font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">$msg</font><BR>
<font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\"><a href = 'http://$link'>$link</a></font>";
}
}
if($down > 0)
$param = $down+1;
else
$param = 1;
print "<HR SIZE = '2' COLOR = 'navy'>";
print "<BR><b><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\">
Total: $strings <BR>
<B></B><BR>
<B></B></font>";
?>
</tr>
<tr>
<?
if ($CID || isset($GID)) { // "left" categories
echo "<td width=120 valign=top><table border=0 cellspacing=2 width=120>";
//list of categories
processCategories($CID);
echo "</table>";
echo "</td>";
};
?>
<td valign=top width=100%>
<?
if ($CID) { //show goods of choosen category
$q = mysql_query("SELECT * FROM Categories WHERE CID=$CID") or die (mysql_error());
if (!($r = mysql_fetch_row($q))) exit;
echo "<font class=cat><b><u>$r[1]:</u></b></font>\n<center>";
//show goods
$q = mysql_query("SELECT * FROM GoodsList WHERE CID=$CID ORDER BY Price") or die (mysql_error());
$i=0;
$result = array();
while ($row = mysql_fetch_row($q)) {
$result[$i] = $row;
$i++;
};
if (!$i) { //if goods= 0 in category
echo " < no goods >";
}
else { //$i != 0 -- show goods of this category
for ($i=0; $i<count($result); $i++)
showGood($result[$i],$r[1],true);
};
echo "</center>";
}
else { //show shop(data mart -витрина)
echo "<center><table width=50%> ";
if (isset($log)) echo ", <b>".stripslashes($log)."</b>";
echo "<br> </table><br>\n";
$q = mysql_query("SELECT * FROM Categories ORDER BY Name") or die (mysql_error());
$k=0;
$result = array();
while ($row = mysql_fetch_row($q)) {
$result[$k++] = $row;
};
echo "<table width=80% border=0>\n<tr><td width=50%>";
for ($i=0; $i<$k/2; $i++)
echo "<a href=\"index.php?CID=".$result[$i][0]."\">".$result[$i][1]."</a><br>";
echo "</td>\n<td valign=top>\n";
for (; $i<$k; $i++)
echo "<a href=\"index.php?CID=".$result[$i][0]."\">".$result[$i][1]."</a><br>";
echo "</td>\n</tr>\n</table></center>\n";
};
?>
</td>
<td width=100 valign=top>
</td>
</table>
</body>
</html>
head.incl
<? //Header file, input point
function processCategories($sel) { //show list of categories
//$sel -- CID choose category
$q = mysql_query("SELECT * FROM Categories ORDER BY Name") or die (mysql_error());
while ($row = mysql_fetch_row($q))
{
if ($row[0] == $sel) { //don't link to selection category
echo "<tr><td>\n";
echo "<b>".$row[1]."</b>\n";
echo "</td></tr>\n";
}
else {
echo "<tr><td>\n";
echo "<a href=\"index.php?CID=".$row[0]."\">";
echo $row[1]."</a></td></tr>\n";
};
};
};
session_start(); //create users session
//connect with database
include ("cfg/connect.inc");
mysql_connect($DB_HOST,$DB_USER,$DB_PASS) or die (mysql_error());
mysql_select_db($DB_NAME) or die (mysql_error());
//# selection category
if (!isset($CID)) $CID=0;
?>
<html>
<head>
<link rel=STYLESHEET href="style.css" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>On -line shop</title>
</head>
<script> //java -script which open goods list
function open_window(link,w,h) {
varwin = "width="+w+",height="+h+",menubar=no,location=no,resizable=yes,scrollbars=yes";
newWin = window.open(link,'newWin',win);
}
function validate() {
if (document.form1.name.value.length<1) {
alert("Input name");
return false;
};
if (document.form1.address.value.length<1) {
alert("Input delivery address");
return false;
};
if (document.form1.email.value.length<1) {
alert("Your e-mail:");
return false;
};
return true;
}
</script>
<body BGCOLOR="FFFFCF">
<!-- table with logo -->
<center><font color="navy"><b>Welcome to on -line computer shop!</b></font></center>
<center><img src="images/1.jpg" alt="" vspace=10></center>
<p ALIGN=CENTER><font color="#400040" size="4">[ <a href="javascript:open_window('cart.php',400,300);">Basket</a>
|<a href="order.php">Order</a> |
<a href="">News</a> | <a href="mailto:manshuk_sultanov@mail.ru">
Write to us</a> | <a href="">Talk to us</a> ] </font>
4. order.php
<? //register order
session_start();
include("head.incl"); //logo and form to users
?>
<!--main table-->
<br><table border=0 width=100% cellspacing=0>
<tr>
<td width=120 valign=top>
<?
echo "<table border=0 cellspacing=2 width=120>";
//list of category
processCategories($CID);
echo "</table>";
echo "</td>";
?>
</td>
<td align=center width=90% valign=top>
<? //show goods in basket
$showTotal = 0; //show total
//count goods in basket
$k = 0;
if (isset($gids)) {
for ($i=0; $i<count($gids); $i++)
if ($gids[$i] != 0) $k++;
};
if ($k) { //basket isn't empty
?>
<font class=cat color=red><b><u>Check order</u></b></font><br><br>
<b>Is it all right?</b><br><br>
<table border=0 cellspacing=1 cellpadding=2 bgcolor=#E1E6FC width=70%>
<tr bgcolor=#D1D9F8 align=center>
<td width=40%>Name</td>
<td width=20%>Quantity</td>
<td width=40% colspan=2>Cost, $</td>
</tr>
<?
$showTotal = 1;
$s = 0;
for ($i=0; $i<count($gids); $i++)
if ($gids[$i]) {
$q = mysql_query("SELECT * FROM GoodsList WHERE ID=$gids[$i]") or die (mysql_error());
if ($r = mysql_fetch_row($q)) {
echo "<tr bgcolor=#FFFFFF>\n";
echo "<td>$r[2]</td>\n";
echo "<td align=center>$counts[$i]</td>\n";
echo "<td align=center colspan=2>".($r[3]*$counts[$i])."</td>\n";
echo "</tr>\n";
$s = $s+$r[3]*$counts[$i]; //total price
};
};
}
else echo "Your basket is empty";
if ($showTotal) {
?>
<tr bgcolor=#FFFFFF>
<td><b>Total cost:</b></td>
<td></td>
<td colspan=2 bgcolor=#F1F6FC align=center><b><?=$s; ?>$</b></td></tr>
</table>
<form name="form1" action="completeorder.php" method=post onSubmit="return validate(this);">
<table border=0 width=70%>
<tr>
<td align=right width=49%>Your name:</td>
<td width=1%> </td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td align=right width=49%>E-mail:</td>
<td width=1%> </td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td align=right width=49%>Delivery address:</td>
<td width=1%> </td>
<td><input type="text" name="address"></td>
</tr>
</table>
<table width=70%>
<tr>
<td> </td>
<td align=right><input type=submit class=redbutton value="Order!"></td>
</tr>
</table>
</form>
<? }; ?>
</td></tr>
</table>
</body>
</html>
completeorder.php
<? //complete order
if (!isset($name) || !isset($email) || !isset($address)) exit;
session_start();
include("head.incl");
//check goods in basket, count goods ($k):
if (!isset($gids)) {
echo "<center><font>Your basket is empty</font></center>";
exit;
};
$k=0;
for ($i=0; $i<count($gids); $i++)
if ($gids[$i]) {
$q = mysql_query("SELECT ID FROM GoodsList WHERE ID=$gids[$i]") or die (mysql_error());
};
if (!mysql_num_rows($q)) {
echo "<center><font>Your basket is empty</font></center>";
exit;
};
//add new order in database
$q = mysql_query("INSERT INTO Orders VALUES (0,'$name','$email','$address')") or die (mysql_error());
$OID = mysql_insert_id();
//send to administrator mail about goods
$s1 = "New order!\n\n";
$s1 .= "Customer: $name\n";
$s1 .= "Address: $address\n\n";
$s1 .= "Order:\n";
//get users goods in table OrderedCart
$k=0;
$s="";
for ($i=0; $i<count($gids); $i++)
if ($gids[$i]) {
$q = mysql_query("SELECT * FROM GoodsList WHERE ID=$gids[$i]") or die (mysql_error());
if ($r = mysql_fetch_row($q)) { //good exist in database
mysql_query("INSERT INTO OrderedCarts VALUES ($gids[$i],$counts[$i],$OID)") or die (mysql_error());
$k += $counts[$i]*$r[3];
$s .= "$r[2] ($counts[$i] )\n";
};
};
$s .= "\nTotal: $k$";
mail("your@email.here", "New order!", $s1.$s, "From: <>;\nContent-Type: text/plain; charset=\"windows-1251\"");
mail($email, "Your order!", "Hello!\n\nThank for you order:\n$s\n\nIn a few time our manager connect with you for more accurate definition in details.\n\nOn-line shop.", "From: <your@email.here>;\nContent-Type: text/plain; charset=\"windows-1251\"");
session_unregister("gids");
session_unregister("counts");
?>
<table border=0 width=100% cellspacing=5 cellpadding=5>
<tr><td width=120 valign=top>
<table border=0 cellspacing=2 width=120>
<tr>
<td width=120 valign=top>
<table border=0 cellspacing=2 width=120>
<? //categories list
processCategories($CID);
?>
</table>
</td>
</tr>
</table>
</td>
<td align=center width=90%>
<b>Your order is received!<br>In a few time our manager connect with you.</b>
</td>
</tr>
</table>
</body>
</html>
cart.php
<? //users basket
session_start();
//connect with database
include ("cfg/connect.inc");
mysql_connect($DB_HOST,$DB_USER,$DB_PASS) or die (mysql_error());
mysql_select_db($DB_NAME) or die (mysql_error());
if (isset($add) && $add>0) { //add good in basket
//$gids[] -- array,ID goods in basket
//$counts[] -- ( $gids[$i]appropriate $counts[$i])
//if $gids[$i] == 0, delete good from basket
if (!isset($gids)) {
$gids = array();
$counts = array();
};
//to check -- good in basket
$i=0;
while ($i<count($gids) && $gids[$i] != $add) $i++;
if ($i < count($gids))
$counts[$i]++;
else {
$gids[] = $add;
$counts[] = 1;
};
//add changes to session
session_register("gids");
session_register("counts");
};
if (isset($remove) && $remove>0) { //delete good from basket -- $remove
$i=0;
while ($i<count($gids) && $gids[$i] != $remove) $i++;
if ($i<count($gids)) $gids[$i]=0;
//add chages to session
session_register("gids");
session_register("counts");
};
if (isset($update)) { //check basket
$vars = get_defined_vars();
foreach ($vars as $key => $val)
if (strstr($key, "count_")) {
//session variables
if ($val>0) {
for ($i=0; $i<count($gids); $i++)
if ($gids[$i] == str_replace("count_","",$key)) {
$counts[$i] = $val;
};
}
else { //delete
$i=0;
while ($gids[$i] != str_replace("count_","",$key) && $i<count($gids)) $i++;
$gids[$i]=0;
//add changes to session
session_register("gids");
session_register("counts");
};
};
};
if (isset($clear_cart)) { //empty basket
//remove session variables
session_unregister("gids");
session_unregister("counts");
unset($gids);
unset($counts);
};
?>
<html>
<head>
<link rel=STYLESHEET href="style.css" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Basket</title>
<script>
function order_shopping() {
window.opener.location = 'order.php';
window.close();
};
</script>
</head>
<body><center>
<?
//accept good from $gids[]
//count goods in basket
$c=0;
if (isset($gids))
for ($j=0; $j<count($gids); $j++) if ($gids[$j]) $c++;
//if basket isn't empty
if (isset($gids) && $c) {
?>
<table width=100%><tr><td><font color=#3551C7><b>Your basket:</b></font></td>
<td align=right><a href="cart.php?clear_cart=yes"><font color=#2531A7><img src="images/remove.jpg" border=0> <u>clear</u></font></a></td></table>
<form action="cart.php?update=yes" method=post>
<table border=0 cellspacing=1 cellpadding=2 bgcolor=#E1E6FC width=100%>
<tr align=center bgcolor=#D1D9F8>
<td><font color=#3551C7>Name</font></td><td><font color=#3551C7>Quantity</font></td><td><font color=#3551C7>Cost, $</font></td><td width=20></td>
</tr>
<?
$k=0; //total basket cost
for ($i=0; $i<count($gids); $i++)
if ($gids[$i]) {
$q = mysql_query("SELECT * FROM GoodsList WHERE ID='".$gids[$i]."'") or die (mysql_error());
if ($r = mysql_fetch_row($q)) {
echo "<tr bgcolor=white >\n<td>".$r[2]."</td>\n";
echo "<td align=center>\n";
echo "<input type=\"text\" name=\"count_$gids[$i]\" size=5 value=\"".$counts[$i]."\">\n</td>\n";
echo"<td align=center>".($counts[$i]*$r[3])."</td>\n";
echo"<td align=center><a href=\"cart.php?remove=$gids[$i]\" class=small><imgsrc=\"images/remove.jpg\"border=0 alt=\"delete\"></a></td>\n</tr>\n";
$k += $counts[$i]*$r[3];
};
};
//total...
?>
<trbgcolor=white><td><fontclass=cat><b>In all:</b></font></td><td><br><br></td><td bgcolor=#F1F6FC align=center><font class=cat><b><nobr><?=$k; ?>$</nobr></b></font></td><td></td></tr>
</table>
<table width=100% border=0>
<tr>
<td align=right><input class="bluebutton" type="submit" value="Count all"></td>
</tr>
</table>
</form>
<form action="javascript:order_shopping();" method=post>
<table width=100% border=0>
<tr>
<td align=center><input type="submit" class="redbutton" value="Order!"></td>
<td align=center><input type="button" class="bluebutton" value="Close" onClick="window.close();"></td>
</tr>
</table>
</form>
<?
}
else {
echo "<p><font>Your basket is empty!</font></p>\n";
echo "<form><input type=\"button\" class=\"bluebutton\" value=\"Close\" onClick=\"window.close();\"></form>\n";
};
?>
</center></body>
</html>
admin.php
<? //administrating of database: add/edit goods, categories
session_start();
//connect with database
include ("connect.inc");
mysql_connect($DB_HOST,$DB_USER,$DB_PASS) or die (mysql_error());
mysql_select_db($DB_NAME) or die (mysql_error());
?>
<html>
<head>
<script>
function confirmDelete(oid) {
temp = window.confirm('Delete order?');
if (temp) { //delete
window.location='admin.php?delete='+oid;
};
};
function open_window(link,w,h) { //open new window to edit goods, categories
var win = "width="+w+",height="+h+",menubar=no,location=no,resizable=yes,scrollbars=yes";
newWin = window.open(link,'newWin',win);
};
</script>
<link rel=STYLESHEET href="style.css" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>ADMINISTRATOR</title>
</head>
<body><center>
<h1>ADMINISTRATOR</h1>
<?
if (!isset($path) || $path<0 || $path>1) $path=0;
if ($path==0) { //show table with new order
if (isset($delete) && $delete) { //remove order
mysql_query("DELETE FROM OrderedCarts WHERE OID=$delete") or die (mysql_error());
mysql_query("DELETE FROM Orders WHERE OID=$delete") or die (mysql_error());
};
?>
[ <a href="admin.php?path=1">Edit goods and categories</a> ]<br>
<? //choose from database all orders
$q = mysql_query("SELECT * FROM Orders") or die (mysql_error());
$result=array(); $i=0;
while ($row = mysql_fetch_row($q)) $result[$i++] = $row;
if ($i) {
?>
<form method=post action="admin.php">
<p><b><font> New orders: </font></b></p>
<table width=95% border=0 cellspacing=1 cellpadding=2 bgcolor=#DDDDDD>
<tr bgcolor=#CCCCCC>
<td><b>Customer</b></td><td><b>E-mail</b></td><td><b>Address</b></td><td><b>Ordered goods</b></td>
<td><b>Cost</b></td><td width=1%> </td>
</tr>
<?
for ($i=0; $i<count($result); $i++) {
echo "<tr bgcolor=#F3F3F3>\n";
echo "<td>".$result[$i][1]."</td>\n";
echo"<td><a href=\"mailto:".$result[$i][2]."\">".$result[$i][2]."</a></td>\n";
echo "<td>".$result[$i][3]."</td>\n";
//show goods from user basket with price
echo "<td>";
$p = mysql_query("SELECT * FROM OrderedCarts WHERE OID='".$result[$i][0]."'") or die (mysql_error());
$sum=0;
while ($r = mysql_fetch_row($p)) {
$s = mysql_query("SELECT * FROM GoodsList WHERE ID=$r[0]") or die (mysql_error());
$k = mysql_fetch_row($s);
echo "$k[2] ($r[1] øò.)<br>\n";
$sum += $r[1]*$k[3];
};
echo "</td>\n";
echo "<td>$sum$</td>\n";
echo "<td><a href=\"javascript:confirmDelete(".$result[$i][0].");\"><img src=\"remove.jpg\" border=0 alt=\"Delete\"></a></td>\n";
echo "</tr>\n";
};
?>
</table>
</form>
<? }
else echo "<br><br><font><There aren't new order></font>";
?>
<? } else if ($path==1) { //edit database?>
[ <a href="admin.php">New orders</a> ]<br>
<p>
<table width=300 height=40 bgcolor=#D2FFD2 border=0>
<tr><td align=center>
<a href="../index.php">>> come back to shop <<</a>
</td></tr>
</table>
</p>
<table width=100% border=0>
<tr>
<td width=20% bgcolor=#D2D2FF align=center><b>Categories</b></td>
<td width=33% bgcolor=#F5F5B2 align=center><b>Goods</b></td>
</tr>
<tr>
<td bgcolor=#E2E2FF><!-->
<table width=100%>
<tr>
<td><b>Root</b></td>
<td align=right><font color=red>[</font><a class=small href="admin.php?CID=0&path=1">=></a><font color=red>]</font></td>
</tr>
<? //show all categories
$q = mysql_query("SELECT * FROM Categories ORDER BY Name") or die (mysql_error());
while ($row = mysql_fetch_row($q)) {
echo "<tr>";
echo"<td><a href=\"javascript:open_window('category.php?c_id=$row[0]',350,180);\">$row[1]</a></td>";
echo "<td align=right><font color=red>[</font><a class=small href=\"admin.php?CID=$row[0]&path=1\">=></a><font color=red>]</font></td>";
echo "</tr>";
};
?>
</table>
<center><p>[<a href="javascript:open_window('category.php',350,180);">add</a> ]</p></center><br>
</td>
<td bgcolor=#FFFFE2 align=center><!-->
<?
$row = array();
if (!isset($CID) || !$CID) {
$CID = 0;
$row[1] = "Root";
}
else {
$q = mysql_query("SELECT * FROM Categories WHERE CID=$CID;") or die (mysql_error());
$row = mysql_fetch_row($q);
if (!$row) {
$CID = 0;
$row[1] = "Root";
};
};
echo "<br><center><b>".$row[1].":</b></center><br>\n";
if (!$CID) { //alert
echo "<font color=red>Users can't see goods in Root</font><br><br>\n";
};
//choose goods from database in current category
$q = mysql_query("SELECT * FROM GoodsList WHERE CID=$CID ORDER BY Name;") or die (mysql_error());
$result = array();
$i=0;
while ($row = mysql_fetch_row($q)) $result[$i++] = $row;
if (!$i) echo "<center><></center>";
else { //show goods
echo "<table border=1 cellspacing=0 cellpadding=3 bordercolor=#C3BD7C bordercolordark=#FFFFE2 width=70%>\n";
echo "<tr bgcolor=#F5F5C5 align=center><td>Name</td><td>Price, $</td>";
echo "<td>Picture</td></tr>\n";
for ($i=0; $i<count($result); $i++) {
echo "<tr><td>\n";
echo"<a href=\"javascript:open_window('goods.php?ID=".$result[$i][1]."',550,570);\">".$result[$i][2]."</a>";
echo "</td>\n";
echo "<td align=right>\n";
echo $result[$i][3];
echo "</td>\n";
echo "<td align=right>\n";
echo $result[$i][4] ? $result[$i][4] : "no";
echo "</td>\n";
echo "</tr>\n";
};
echo "</table>\n";
};
echo "<br><center>[ <a href=\"javascript:open_window('goods.php?cat=".$CID."',550,570);\">add</a> ]</center><br>";
?>
</td>
</tr>
</table>
<? }; ?>
<p>
<table width=300 height=40 bgcolor=#D2FFD2 border=0>
<tr><td align=center>
<a href="../index.php">>> come back to shop <<</a>
</td></tr>
</table>
</p>
</center></body>
</html>
category.php
<? //save/ change category
//connect with database
include ("connect.inc");
mysql_connect($DB_HOST,$DB_USER,$DB_PASS) or die (mysql_error());
mysql_select_db($DB_NAME) or die (mysql_error());
?>
<html>
<head>
<link rel=STYLESHEET href="style.css" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Categories</title>
<script>
function confirmDelete() {
temp = window.confirm('Delete category?');
if (temp) { //delete
window.location='category.php?c_id=<?=$c_id;?>&del=1';
};
};
</script>
</head>
<body bgcolor=#D2D2FF>
<?
if (isset($save) && $name) { //save record in database
if (!isset($must_delete)) { //add new record
$q = mysql_query("INSERT INTO Categories VALUES (0,'".str_replace("<","<",$name)."')") or die (mysql_error());
}
else { //reload
$q = mysql_query("UPDATE Categories SET Name='".str_replace("<","<",$name)."' WHERE CID=".$must_delete) or die (mysql_error());
};
//now close window
echo "<script>\n";
echo "window.opener.location.reload();\n";
echo "window.close();\n";
echo "</script>\n</body>\n</html>";
}
else { //show category editing form
if (isset($c_id)) { //edit...
$q = mysql_query("SELECT * FROM Categories WHERE CID=".$c_id) or die (mysql_error());
$row = mysql_fetch_row($q);
if (!$row) { //error! category doesn't exist!
echo "<center><font color=red>Category isn't found in database!</font>";
echo"<a href=\"javascript:window.close();\">Close</a></center></body>\n</html>";
exit;
};
$title = "Category <b>".$row[1]."</b>";
$n = $row[1];
if (isset($del)) { //delete record...
//delete record
mysql_query("DELETE FROM Categories WHERE CID=".$c_id) or die (mysql_error());
//chane all goods in root
mysql_query("UPDATE GoodsList SET CID=0 WHERE CID=".$c_id) or die (mysql_error());
//close window
echo "<script>\n";
echo "window.opener.location.reload();\n";
echo "window.close();";
echo "</script>\n</body>\n</html>";
};
}
else { //create new category
$title = "Create new category";
$n = "";
};
?>
<center><font color=purple><?=$title; ?></font></center>
<form action="category.php" method=post>
<table width=100% border=0>
<tr>
<td align=right>Name<br>Categories:</td>
<td></td>
<td><input type="text" name="name" value="<?=str_replace("\"","''",$n); ?>" size=20></td>
</tr>
</table>
<p><center>
<input type="submit" value="Save" width=5>
<input type="hidden" name="save" value="1">
<input type="button" value="Cancel" onClick="window.close();">
<?
if (isset($c_id)) {
echo "<input type=\"hidden\" name=\"must_delete\" value=\"".$c_id."\">\n";
echo "<input type=\"button\" value=\"Delete\" onClick=\"confirmDelete();\"";
};
?>
</center></p>
</form>
</body>
</html>
<? }; ?>
goods.php
<? //save /change goods
//connect with database
include ("connect.inc");
mysql_connect($DB_HOST,$DB_USER,$DB_PASS) or die (mysql_error());
mysql_select_db($DB_NAME) or die (mysql_error());
if (!isset($ID)) $ID=0;
if (!isset($cat)) $cat = 0;
if (!isset($name)) $name = "";
if (!isset($price)) $price = 0;
if (!isset($picture)) $picture = "none";
?>
<html>
<head>
<link rel=STYLESHEET href="style.css" type="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Goods</title>
<script>
function confirmDelete($question, $where) {
temp = window.confirm($question);
if (temp) { //delete
window.location=$where;
};
};
</script>
</head>
<body bgcolor=#FFFFE2>
<? function showGoodsForm($name, $price, $picture, $title, $ID, $c) { //?>
<center><b><font><?=$title; ?></font></b></center>
<form enctype="multipart/form-data" action="goods.php?cat=<?=$c; ?>" method=post>
<table width=100% border=0>
<tr>
<td align=right>Category:</td>
<td>
<select name="cid">
<option value="0">Root</option>
<?
$q = mysql_query("SELECT * FROM Categories ORDER BY Name") or die (mysql_error());
while ($row = mysql_fetch_row($q)) {
echo "<option value=\"$row[0]\"";
if ($row[0] == $c) echo " selected";
echo ">$row[1]</option>";
};
?>
</select>
</td>
</tr>
<tr>
<td align=right>Name:</td>
<td><input type="text" name="name" value="<?=str_replace("\"","''",$name); ?>"></td>
</tr>
<tr>
<td align=right>Price, $<br>(only number):</td>
<td><input type="text" name="price" value=<?=$price; ?>></td>
</tr>
<tr>
<td align=right>Big picture of good:</td>
<td><input type="file" name="picture"></td>
<tr><td></td><td>
<?
if ($picture && $picture != "none" && file_exists("../goods_pictures/".$picture)) {
echo "<font class=average>show:</font> <a class=small href=\"../goods_pictures/".$picture."\">$picture</a>\n";
echo "<br><a href=\"javascript:confirmDelete('Delete picture of good?','goods.php?ID=$ID&picture_remove=yes');\">delete</a>\n";
}
else echo "<br><font class=average color=brown>(picture isn't downloaded)</font><br><br>";
?>
</td>
</tr>
</table>
<p><center>
<input type="submit" value="Save" width=5>
<input type="hidden" name="save" value=<?=$ID; ?>>
<input type="button" value="Cancel" onClick="window.close();">
<? if ($ID) echo "<input type=button value=\"Delete\" onClick=\"confirmDelete('Delete good?','goods.php?ID=".$ID."&del=1');\">"; ?>
</center></p>
</form>
<? };
if (isset($save)) { //save good in database
//first check input data
$row = array();
if (!$name) {
howGoodsForm($name, $price, $picture, "<font color=red>Name of good<u>isn't</u> put</font>",$ID,$cat);
exit;
};
if (!$price || $price < 0) $price = 0;
if ($picture && $picture != "none") { //uploade goods image
$rr = rand() % 1000;
$picture_name = $rr."_".$picture_name;
$r = copy(trim($picture), "../goods_pictures/".str_replace(" ","_",$picture_name));
$picture_name = str_replace(" ","_",$picture_name);
if (!$r) { //error...
echo "<center><font color=red>Good is saved in database!";
echo "<br>We couldn't download the picture of good on server.Maybe it hasn't enouth space.</font>\n<br><br>\n";
echo "<a href=\"javascript:window.close();\">Close window</a></center></body>\n</html>";
exit;
};
};
//save
if ($save) {
$q = mysql_query("SELECT * FROM GoodsList WHERE ID=".$save) or die (mysql_error());
$row = mysql_fetch_row($q);
if ($picture && $picture != "none") {
//delete old picture
if ($row[4] != "none" && file_exists("../goods_pictures/".$row[4]))
unlink("../goods_pictures/".$row[4]);
mysql_query("UPDATE GoodsList SET CID=$cid, Name='".str_replace("<","<",$name)."', Price=$price, Picture='$picture_name' WHERE ID=$save") or die (mysql_error());
}
else {
mysql_query("UPDATE GoodsList SET CID=$cid, Name='".str_replace("<","<",$name)."', Price=$price WHERE ID=$save") or die (mysql_error());
};
else { //add new good in database
$q = mysql_query("INSERT INTO GoodsList VALUES ($cid, 0,'".str_replace("<","<",$name)."', $price,'$picture_name');") or die (mysql_error());
};
//close window
echo "<script>\n";
echo "window.opener.location.reload();\n";
echo "window.close();\n";
echo "</script>\n</body>\n</html>";
exit;
}
else {
$row = array();
if ($ID) { //take good from database
//check
$q = mysql_query("SELECT * FROM GoodsList WHERE ID=".$ID) or die (mysql_error());
$row = mysql_fetch_row($q);
if (!$row) { //good doesn't exist
echo "<center><font color=red>Good isn't found in database!</font>";
echo "<a href=\"javascript:window.close();\">Close window</a></center></body>\n</html>";
exit;
};
if (isset($picture_remove)) { //delete good picture
if ($row[4] != "none" && file_exists("../goods_pictures/".$row[4]))
unlink("../goods_pictures/".$row[4]);
$picture = "none";
mysql_query("UPDATE GoodsList SET Picture='' WHERE ID=$ID") or die (mysql_error());
};
if (isset($del)) { //delete good
if ($row[4] != "none" && file_exists("../goods_pictures/".$row[4]))
unlink("../goods_pictures/".$row[4]);
//delete good
mysql_query("DELETE FROM GoodsList WHERE ID=".$ID) or die (mysql_error());
//close window
echo "<script>\n";
echo "window.opener.location.reload();\n";
echo "window.close();\n";
echo "</script>\n</body>\n</html>";
exit;
};
$cat = $row[0];
$name = $row[2];
$price = $row[3];
$picture = $row[4];
//good is exist
$title = $row[2];
}
else { //create new good
$title = "New good";
};
};
showGoodsForm($name, $price, $picture, $title, $ID, $cat);
?>
</body>
</html>
add_news.php
<?
$date = date("d-m-Y");
$form = "
<form name=\"form1\" method=\"post\" action=\"add_news.php\">
<input type=\"hidden\" name=\"seenform\" value=\"y\">
<table border=0 cellspacing=0 cellpadding=0 style='border-collapse:collapse;
border:none;mso-border-alt:solid windowtext .0pt;mso-padding-alt:0cm 0pt 0cm 0pt' width=\"100%\">
<tr>
<td valign=top style='border:none;padding:0cm 0pt 0cm 0pt' width=\"14%\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">Password:</font></td>
<td valign=top style='border:none;padding:0cm 0pt 0cm 0pt' width=\"86%\">
<input type=\"text\" name=\"pass\" style=\"BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-BOTTOM-COLOR=ffffff; BORDER-RIGHT-COLOR=ffffff;\">
</td>
</tr>
<tr>
<td valign=top style='border:none;padding:0cm 0pt 0cm 0pt' width=\"14%\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">Header:</font></td>
<td valign=top style='border:none;padding:0cm 0pt 0cm 0pt' width=\"86%\">
<input type=\"text\" name=\"title\" style=\"BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid\">
</td>
</tr>
<tr>
<td valign=top style='border:none;padding:0cm 0pt 0cm 0pt' width=\"14%\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">Link:</font></td>
<td valign=top style='border:none;padding:0cm 0pt 0cm 0pt' width=\"86%\">
<input type=\"text\" name=\"link\" style=\"BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid\">
</td>
</tr>
<tr>
<td valign=top style='border:none;padding:0cm 0pt 0cm 0pt' width=\"14%\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">News:</font></td>
<td valign=top style='border:none;padding:0cm 0pt 0cm 0pt' width=\"86%\">
<textarea name=\"msg\" cols=\"25\" rows=\"3\" style=\"BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid\"></textarea>
</td>
</tr>
<tr>
<td valign=top style='border:none;padding:0cm 0pt 0cm 0pt' width=\"14%\"> </td>
<td valign=top style='border:none;padding:0cm 0pt 0cm 0pt' width=\"86%\">
<input type=\"submit\" name=\"Submit\" value=\"Save\" style=\"BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BACKGROUND: ffffff; BORDER-TOP-COLOR=ffffff; BORDER-LEFT-COLOR=ffffff; Font face: Verdana\">
</td>
</tr>
</table>
</form>";
if ($seenform != 'y')
print $form;
if ($pass != $password)
{
print "<font size=\"1\" face=\"Verdana, Arial, Helvetica, sans-serif\">Incorrect password!</font><BR>";
$er = 1;
}
if ($seenform == 'y' and $er == "")
{
$fp = fopen ("base.dat", "a");
$msg = stripslashes($msg);
$msg = ereg_replace("<","<",$msg);
$msg = ereg_replace(">",">",$msg);
$msg = ereg_replace('\\\"',""",$msg);
$msg = ereg_replace("::","::",$msg);
$msg = ereg_replace("!","!",$msg);
$msg = ereg_replace("\r","",$msg);
$msg = ereg_replace("\n","<br>",$msg);
$msg = ereg_replace("%","%",$msg);
$msg = ereg_replace("^ +","",$msg);
$msg = ereg_replace(" +$","",$msg);
$msg = ereg_replace(" +"," ",$msg);
$msg = ereg_replace(":",":",$msg);
$link = eregi_replace("http://","",$link);
$link = eregi_replace("http:","",$link);
$link = eregi_replace("http","",$link);
$string = "$title::$msg::$link::$date\r\n";
fputs($fp,$string);
fclose($fp);
print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\"><B><a href = 'news.php'>Thanks</a></B>.<BR>";
}
?>
admin.php(news)
<?
include "config.php";
function form()
{
echo "
<html>
<head>
<title>Shop -news | ADMINISTRATOR</title>
<META HTTP-EQUIV=\"Pragma\" CONTENT=\"no-cache\">
<meta http-equiv=\"content-type\" content=\"text/html; charset=windows-1251\">
</head>
<form action=admin.php method=get>
<font face=verdana size=2 color=000000>Pass:</font>
<input typy=text name=p size=25 style=\"BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid\">
<input type=submit value=Enter! style=\"BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BACKGROUND: ffffff; Font face: Verdana\">
</form>
";
}
if ($p == "$password")
{
?>
<html>
<head>
<title>Shop -news |ADMINISTRATOR</title>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<?
if ($QUERY_STRING == "p=$p")
{
$general = file("$base");
$messages = count($general);
}
}
?>
</head>
<?
function replace ($string)
{
$string = stripslashes($string);
$string = ereg_replace("<","<",$string);
$string = ereg_replace(">",">",$string);
$string = ereg_replace('\\\"',""",$string);
$string = ereg_replace("::","::",$string);
$string = ereg_replace("!","!",$string);
$string = ereg_replace("\r\n","<br>",$string);
$string = ereg_replace("%","%",$string);
$string = ereg_replace("^ +","",$string);
$string = ereg_replace(" +$","",$string);
$string = ereg_replace(" +"," ",$string);
return $string;
}
?>
<left>
<?
$general = file("$base");
if (isset($action))
{
if ($action == "Delete" or $action == "Save")
{
$editor = fopen("$base","w");
for ($j = 0; $j < count($general); $j++)
{
if ($j != $number)
{
fputs($editor,$general[$j]);
}
else
{
if ($action == "Save")
{
$from = replace($from);
$into = replace($into);
$title = replace($title);
$msg = replace($msg);
$link = replace($link);
$date = replace($date);
$date = ereg_replace("<br>"," ",$date);
fputs($editor,"$title::$msg::$link::$date\r\n");
}
}
}
fclose($editor);
$general = file("$base");
}
}
$messages = count($general);
if ($QUERY_STRING == "p=$password" or $menu == "messages" or $page != "")
{
if ($messages > "0")
{
echo "<table width=500 border=0 cellspacing=1 cellpadding=1 bgcolor=000000><tr><td bgcolor=#ffffe2 align=left><font face=verdana size=2>Total: <font color=000000>$messages | << <B></B></font></td></tr></table>";
}
$pmessages = file("$base");
if ($page == "")
{
$page = "1";
}
$first = count($pmessages) - ($onlyp * ($page - 1));
$second = count($pmessages) - ($onlyp * $page) + 1;
if ($second < 1)
{
$second = 1;
}
$pages = (int) ((count($pmessages) + $onlyp) / $onlyp);
$line = "|";
for ($onlyp = 1; $onlyp <= $pages; $onlyp++)
{
if ($onlyp != $page)
{
$line .= "<a href=\"admin.php?p=$p&page=$onlyp\"> $onlyp </a>|";
}
if ($onlyp == $page)
{
$line .= "$onlyp |";
}
}
if ($messages > "0")
{
echo "<br>$line<br>";
}
for ( $i = $first-1; $i >= $second-1; $i--)
{
list($title,$msg,$link,$date) = explode("::", $general[$i]);
if ($messages != "0")
{
$msg = str_replace("<br>","\r\n",$msg);
$id = $i;
$id++;
echo "<form action=admin.php method=\"get\" name=\"Shop -news$i\">
<input type=\"hidden\" name=\"p\" value=\"$p\"><table width=500 border=0 cellspacing=1 cellpadding=1 bgcolor=ffffff>";
echo "<tr><td align=left bgcolor=#ffffff colspan=2><B><font face=verdana size=1 color=000000>News number $id</font></B><BR>...";
echo "<tr><td bgcolor=#ffffff align=left><font color=000000 face=verdana size=2>Heading:</td><td align=left bgcolor=#ffffff><input type=text name=title value=\"$title\" size=30 style=\"BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid\"></td></tr>";
echo "<tr><td bgcolor=#ffffff align=left><font color=000000 face=verdana size=2>Link:</td><td align=left bgcolor=#ffffff><input type=text name=link value=\"$link\" size=30 style=\"BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid\"></td></tr>";
echo "<tr><td bgcolor=#ffffff align=left><font color=000000 face=verdana size=2>Date:</td><td align=left bgcolor=#ffffff><input type=text name=date value=\"$date\" size=30 style=\"BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid\"></td></tr>";
echo "<input type=hidden name=date value=\"$date\" size=30>";
echo "<tr><td bgcolor=#ffffff align=left><font color=000000 face=verdana size=2>News:</td><td align=left bgcolor=#ffffff><textarea rows=5 cols=30 name=msg style=\"BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid\">$msg</textarea></td></tr>";
echo "<tr><td align=center colspan=2 bgcolor=#ffffff><input type=submit name=action value=Delete style=\"BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BACKGROUND: ffffff; Font face: Verdana\">
<input type=submit name=action value=Save style=\"BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid; BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BACKGROUND: ffffff; Font face: Verdana\"></td></tr>";
echo "<input type=hidden name=menu value=msg>";
echo "<input type=hidden name=page value=$page>";
echo "<input type=hidden name=number value=$i>";
echo "</table></form>";
}
}
}
if ($messages <= 0)
print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">Empty! << <a href = 'news.php'>On news page!</a></font><BR>";
?>
</center>
</body>
</html>
<?
if ($QUERY_STRING == "" and $p == "")
{
form();
}
?>
</body>
</html>
