Documente Academic
Documente Profesional
Documente Cultură
CUPRINS
CUPRINS...............................................................................................................................1
Introducere.............................................................................................................................2
Capitolul 1 - Sistem informatic i baze de date.....................................................................2
1.1. Sistem informatic (Si).................................................................................................2
1.2. Baza de date................................................................................................................4
Capitolul 2 - Structura aplicaiei............................................................................................6
2.1. Design si grafic.........................................................................................................6
2.2. Fiierele aplicatiei.......................................................................................................8
2.3. Descrierea functionalitatii fiierelor.........................................................................10
Capitolul 3 - Proiectarea Bazei de date...............................................................................15
3.1. Relatiile intre tabele..................................................................................................15
Capitolul 4 - Instalarea bazei de date pe sistem..................................................................19
4.1. Etapele instalarii.......................................................................................................19
4.2. Crearea tabelelor cu ajutorul fisierului SQL............................................................20
4.3. Introducerea datelor in baza cu ajutorul fisierului SQL...........................................23
4. 4. Conectarea la server si la baza de date....................................................................24
Capitolul 5 - Descrierea mediilor de programare si a softwarelor utilizate in crearea
aplicaiei...............................................................................................................................26
5.1. Limbajul HTML.......................................................................................................26
5.2. CSS (Cascading Style Sheets)..................................................................................29
5.3. Limbajul PHP...........................................................................................................30
5.4. Sistemul de baze de date MySQL............................................................................33
5.5. Serverul Apache........................................................................................................35
Capitolul 6 - Manual de utilizare al aplicaiei.....................................................................36
6.1. Modul Vizualizare.....................................................................................................36
6.2. Modulul Administrare...............................................................................................41
Concluzii..............................................................................................................................44
Bibliografie..........................................................................................................................45
Anexe - fragmente din codul surs......................................................................................47
-1-
Website informatii
Introducere
Aplicatie de gestiune a informatiilor, site de prezentare de stiri din diferite domenii, stiri
impartite pe categorii si subcvategorii. Vizitatorii pot vizualiza stirile si pot scrie comentarii
asupralor. Administratorul / administratorii pot gestiona toate entitatile - stiri, categorii,
subcategorii.
-2-
Website informatii
Baza de date: (BD) - colectie de aparitii ale mai multor tipuri de nregistrari logice, continnd
relatii ntre nregistrari agregate de date i date elementare.
Sistem de gestiune a bazei de date: (SGBD) - ansamblul de programe destinate crearii,
ntretinarrii i exploatarii unei baze de date.
Clasificare SGBD
- ierarhice (fiiere adnci, structuri arborescente);
- reticulare (fiiere adnci, structuri de tip retea, Conference on Data System Lauquages, cod
ASyL, 1971);
- rationale (fiiere plate, tabele, structuri de tip retea, Cod D 1970).
SGBDR: MS Access 2.0, dBase, FoxPro, Paradox, MS SQL, MySQL.
Arhitectura i funcionarea SGBD
A. Programul - apeleaza SGBD, indicnd numele din program al tipului datei i valoarea
cheii nregistrarii cerute.
B. SGBD - obtine subschema folosita de programul extern i examineaza descrierea datei;
- obtine schema i determina tipul logic al datelor necesare;
- examineaza descrierea fizica a bazei de date i determina nregistrarea fizica necesara;
- trimite o comanda ctre sistemul de operare (SO), cernd citirea nregistrarii fizice.
C. SO - interactioneaza cu dispozitivele de stocare a datelor;
- transfera datele cerute de la dispozitiv la zonele tampon ale SO.
D. SGBD - deduce prin subschema nregistrarea logica necesara i eventual, transforma
datele;
- transfera datele din zonele tampon n zona de lucru a programului;
- furnizeaza programului informatia de stocare asupra operarii (eventual indica eroarea).
E. Programul - opereaza asupra datelor, n zona sa de lucru.
-3-
Website informatii
-4-
Website informatii
Spre exemplu, daca dorim sa adaugam la baza de date un tabel cu datele de contact ale tuturor
elevilor Colegiului National Matei Basarab (si denumit CNMB), dar i cu alte date (numele
cadrelor didactice, orar, programa scolara, etc), ar fi impropriu sa regasim aceeasi informaie
(date de contact elevi clasele a XII-a) n doua tabele.
n schimb, se poate crea o relatie intre cele doua tabele.
Sa presupunem ca tabelul CNMB foloseste n calitate de cheie primara o coloana cu
denumirea Profil clasa. Pentru a crea o relatie intre cele doua tabele, vom aduaga o noua
coloana n tabelul Elevii Claselor a XII-a, intitulata Profil, iar pe fiecare linie vom
inregistra profilul de invatamant al fiecarui elev de clasa a XII-a.
Astfel, coloana Profil din tabelul Elevii Claselor a XII-a va deveni cheie compusa n
relatia cu tabelul CNMB, informaie ce o vom aduce la cunostinta Bazei de Date, care va
asigura ca toate inregistrarile din coloana Profil, tabelul Elevi clasa a XII-a vor avea
corespondenta n tabelul CNMB
Modalitatea de interactionare cu baza de date
Cea mai raspandita modalitate de interactionare cu baza de date este un limbaj standard
denumit Structured Query Language (SQL). Comenzile SQL pot fi impartite n doua sublimbaje principale:
Data Definition Language (DDL) conine comenzi folosite pentru a crea sau distruge baza de
date sau obiecte din baza de date
Dupa ce structura Bazei de Date este definite de DDL, utilizatorii pot folosi, n continuare,
sub-limbajul Data Manipulation Language pentru a inregistra, extrage sau modifica datele din
continutul Bazei de Date.
n prezent, se folosesc, pe scara larga, interfete grafice (Graphical User Interface) care
simplifica mult administrarea Bazei de date dar familiarizarea cu limbajul SQL este esentiala,
aceasta reprezentand fundamentul Bazelor de Date.
n concluzie, baza de date prezint, n principal, urmtoarele avantaje:
- posibilitatea extragerii inregistrarilor ce corespund anumitor criterii
- actualizarea simultana a inregistrarilor
- interconectarea datelor din diferite tabele
- realizarea de calcule complexe
-5-
Website informatii
- sumarul general
-6-
Website informatii
3. n partea din dreapta, opiunile utilizatorului de adaugare a site-ului la Favorites, setare site
ca Home Page si, eventual, diverse reclame.
-7-
Website informatii
-8-
Website informatii
?>
<?
include ("index2.php");
?>
Inainte de a fi inclus fiierul index1.php, este initializata variabila $titlu_pagina care conine
titlul paginii i care va fi afisata de index1.php. Aceasta organizare foloseste la afiarea titlului
fiecarei pagini n acelasi fel.
-9-
Website informatii
- 10 -
Website informatii
Cod javascript pentru adaugarea paginii n lista de Favorites, respectiv de setare a paginii ca
Home Page.
Fiiere auxiliare
conectare_la_bd.php
Contine comenzile de conectare la server i baza de date.
data_curenta.php
Preia data curenta a sistemului n variabila $data_curenta.
favicon.ico
Imagine care apare n dreptul numelui site-ului cand acesta este adaugat n lista de Favorites.
animated_favicon1.gif
Fisierul iconita animata.
stil.css
Fiier tip css n care sunt setate opiunile de culoare ale textelor, linkurilor i controalelor din
site.
- 11 -
Website informatii
- 12 -
Website informatii
Fisierele din modulul administrare
Acestea sunt accesibile numai de catre administratorii site-ului si folosesc acestora pentru a
actualiza datele.
Fiiere de lucru cu categorii
Au prefixul categ_. Contin opiuni de lucru cu categoriile: afiare, introducere, modificare,
tergere.
Alte fiiere
login1.php
- 13 -
Website informatii
Afiseaza formularul de logare. Utilizatorul introduce datele de autentificare, apoi apasa
butonul de Login. Datele sunt trimise ctre fiierul login2.php.
login2.php
Preia datele introduse de utilizator n formularul de la login1.php, verifica daca exista n baza
de date combinatia user+parola introdusa si, daca da, afiseaza sumarul i salveaza id-ul
utilizatorului logat n sesiune.
index0sumar.php
Contine opiunile oferite de modulul de administrare. Este afisat daca utilizatorul s-a
autentificat cu succes.
index1.php i index2.php
Au roluri asemanatoare cu fiierele similare din modulul de vizitare, continand structura
superioare, respectiv inferioara a site-ului.
- 14 -
Website informatii
Descriere tabele
tbstiri_categorii
Coloan
Tip
id_categ
int(4)
Nu
nume_categ varchar(100) Nu
ordine
int(10)
Nu 100
- 15 -
Website informatii
tbstiri_comentarii
Coloan
Tip
id_com
int(11)
Nu
id_user
int(11)
Nu 0
id_item
int(11)
Nu 0
comentariu longtext
Nu
vizibil
int(3)
Nu 0
ip
varchar(50) Nu
data_com datetime
Nu
tbstiri_itemi
Coloan
Tip
id_item
int(10)
Nu
titlu
varchar(200) Nu
descriere
text
autor
varchar(100) Nu
id_categ
int(4)
Nu
Nu 0
id_subcateg1 int(4)
Nu
id_subcateg2 int(4)
Nu
id_sursa
int(4)
Da NULL
id_user
int(4)
Nu 0
date
Nu 2007-01-01
nota
int(10)
Nu 9
numar_note int(10)
Nu 1
tbstiri_subcategorii
- 16 -
Website informatii
Coloan
Tip
id_subcateg
int(4)
Nu
nume_subcateg varchar(100) Nu
id_categ
int(4)
Nu
ordine
int(10)
Nu 50
tbstiri_useri
Coloan
Tip
id_user
int(11)
Nu
id_tip_user
int(11)
Nu 0
username
varchar(50) Nu
parola
varchar(50) Nu
numar_de_validare int(20)
Nu
validat
int(2)
Nu
numeprenume
varchar(100) Nu
varchar(50) Nu
telefon
varchar(50) Nu
datanasterii
date
Nu 2007-01-01
data_ultima_logare date
Nu 2007-01-01
data_ora_ultim_joc datetime
Nu 2007-01-01 00:00:00
jocuri_disputate
Nu 0
int(20)
tbstiri_useri_logari
Coloan
Tip
id_ul
int(10)
Nu
username
varchar(50) Nu
data_logare date
Nu 2007-01-01
- 17 -
Comentarii
Website informatii
- 18 -
Website informatii
- 19 -
Website informatii
`id_sursa` int(4) DEFAULT NULL,
`id_user` int(4) NOT NULL DEFAULT '0',
`cale_imagine` varchar(100) DEFAULT NULL,
`data` date NOT NULL DEFAULT '2007-01-01',
`nota` int(10) NOT NULL DEFAULT '9',
`numar_note` int(10) NOT NULL DEFAULT '1',
PRIMARY KEY (`id_item`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
DROP TABLE IF EXISTS `tbstiri_subcategorii`;
CREATE TABLE IF NOT EXISTS `tbstiri_subcategorii` (
`id_subcateg` int(4) NOT NULL AUTO_INCREMENT,
`nume_subcateg` varchar(100) NOT NULL DEFAULT '',
`id_categ` int(4) NOT NULL DEFAULT '11',
`ordine` int(10) NOT NULL DEFAULT '50',
PRIMARY KEY (`id_subcateg`),
UNIQUE KEY `nume_subcateg` (`nume_subcateg`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
DROP TABLE IF EXISTS `tbstiri_useri`;
CREATE TABLE IF NOT EXISTS `tbstiri_useri` (
`id_user` int(11) NOT NULL AUTO_INCREMENT,
`id_tip_user` int(11) NOT NULL DEFAULT '0',
`username` varchar(50) NOT NULL DEFAULT '',
`parola` varchar(50) NOT NULL DEFAULT '',
`numar_de_validare` int(20) NOT NULL,
`validat` int(2) NOT NULL,
`numeprenume` varchar(100) NOT NULL DEFAULT '',
`email` varchar(50) NOT NULL DEFAULT '',
`telefon` varchar(50) NOT NULL DEFAULT '',
`datanasterii` date NOT NULL DEFAULT '2007-01-01',
`data_ultima_logare` date NOT NULL DEFAULT '2007-01-01',
`data_ora_ultim_joc` datetime NOT NULL DEFAULT '2007-01-01 00:00:00',
`jocuri_disputate` int(20) NOT NULL DEFAULT '0',
- 20 -
Website informatii
PRIMARY KEY (`id_user`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
DROP TABLE IF EXISTS `tbstiri_useri_logari`;
CREATE TABLE IF NOT EXISTS `tbstiri_useri_logari` (
`id_ul` int(10) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL DEFAULT '',
`data_logare` date NOT NULL DEFAULT '2007-01-01',
PRIMARY KEY (`id_ul`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
- 21 -
Website informatii
- 22 -
Website informatii
n variabila $sql este construit sirul SQL care va extrage din baza datele dorite. Exemplu
$sql = "SELECT * FROM tbstiri_itemi INNER JOIN tbstiri_categorii
ON tbstiri_itemi.id_categ=tbstiri_categorii.id_categ";
- 23 -
Website informatii
Rularea sirului SQL construit se realizeaza cu comanda mysql_query, care trimite rezultatul
n variabila $rezultat.
$rezultat = mysql_query ($sql);
Este testat daca sirul SQL a fost rulat cu succes si, daca nu, este afisat un mesaj de eroare.
Altfel, cu ajutorul comenzii while ($row = mysql_fetch_array ($rezultat)) , sunt parcurse
randurile i afisate valorile din celule.
- 24 -
Website informatii
- 25 -
Website informatii
Instructiunile pe care le folosim intr-o pagina HTML se numesc tag-uri i acestea indica browser-ului
(Netscape, Internet Explorer, etc) modul de prezentare a informaiei din pagina. Tag-urile se scriu intre
semnele < i >. Tag-urile nu trebuie scrise respectand reguli foarte stricte (nu e nevoie sa scrii numai
cate un tag pe rand sau sa foloseti numai litere mari, etc).
Tot ceea ce se gaseste intre tagurile title va fi titlul documentului, acesta va aprea n momentul
vizionarii documentului n susul paginii n bara pentru titlu (in stnga butoanelor de
minimalizare/maximalizare/inchidere ale paginii).
- 26 -
Website informatii
De unde vine denumirea de www?
- WWW inseamna World wide web adica o retea de computere raspandita n lumea intreaga ce sunt
colegate intre ele.
HTTP-WEB?
- Toate calculatoarele folosesc un standard de comunicare intre ele numit HTTP(Hyper Text Transfer
protocol).
Ce inseamna HTTP sau cum funcioneaza acest standard?
- n traducere hyper text transfer protocol ar insemna un text care te duce la alt text sau un text care
sare la alt text ceea ce se i intimpla cand navigam pe web.
Ce insemna o pagina web?
- Intr-o pagina web sunt stocate informatii care pot fi vizualizate pe ecranaul calculatorului la o
anumita adresa web.
Cum se poate vizualiza o pagina web?
-O pagina web poate fi vizualizata cu ajutorul unui softwear numit Web browser cel mai cunoscut
fiind Internet Explorer dar ar mai fi i altele ca Opera, Netscape, Mozilla etc..
Unde sunt stocate paginile web?
-Paginile web sunt stocate pe un calculator numit Web server. Calculatoarele care vizualizeaza o
pagina web se numesc Web clients.
Cum ia Browser-ul o pagina de pe un Web Server?
-Browser-ul isi pagina dorita printr-o cerere care este un standard http.Cererea conine adresa paginii
respective (de exemplu:http://www.nume.com/opagina.html)
Cine stabileste standardul web?
-Standardul web este stabilit de consortiul W3C sau mai bine zis World Wide Web Consortium care
dicteaza specificatiile pentru web.
Standarde web sunt HTML, CSS, XML ultimul aparut ar fi XHTML 1.0.
- 27 -
Website informatii
Legatura paginilor HTML cu fiierele extene CSS se face prin introducerea urmtoarei linii:
<link rel="stylesheet" type="text/css" href="fiier_css.css">
Atributele indica urmtoarele: rel - fiierul este tip styleshhet
type - tip text ce conine comenzi CSS
href - fiierul sau adresa fiierului CSS.
- 28 -
Website informatii
- 29 -
Website informatii
Comanda echo este folosita pentru trimiterea ctre serverul de web a textului inscris intre cele doua
ghilimele.
Fiecare linie de cod PHP (dupa terminare) trebuie inchisa de semnul punct-si-virgula (;).
Limbajul PHP
Variabila reprezinta un identificator la o locatie de memorie i se foloseste pentru stocarea,
prelucrarea i tergerea datelor.
Variabilele n PHP sunt apelate folosind prefixul $.
Ex: $nume=Teodor;
Dupa ce am initializat o variabila atribuindu-i o valoare putem folosi acea variabila.
Ex: print $nume;
- 30 -
Website informatii
Tipurile de date nu sunt stabilite de programator; PHP decide asupra lor atunci cand interpreteaza
codul.
Tipul de data string tot ce este cuprins intre ghilimele la initializare se considera string (chiar i
numerele).
Ex : $nume=Ionescu;
$nr=5;
Date de tip numeric
n PHP exista 2 tipuri de date numerice : integer i double.
Integer sunt numere fari virgula, n timp ce double reprezinta numere cu zecimale.
Constante
O variabila i poate modifica continutul de mai multe ori pe parcursul unui program. Daca dorim ca o
locatie de memorie sa nu poata fi schimbata pe parcursul unui program putem folosi instructiunea
define.
Ex: define(PI,3.1416);
Constantele sunt scrise prin conventie cu MAJUSCULE.
Constantele se pot afisa avand grija sa nu folositi semnul $.
- 31 -
Website informatii
- 32 -
Website informatii
Suport pentru limbaje de interogare.
MySQL nelege SQL (Structured Query Language - limbaj de interogare structurat), limbajul preferat
al tuturor sistemelor moderne de baze de date. De asemenea, putei avea acces la MySQL folosind
aplicaii care accept ODBC (Open Database Connectivity), un protocol de comunicaie cu bazele de
date creat de Microsoft.
La server se pot conecta mai muli clieni simultan.
Clienii pot folosi mai multe baze de date simultan. Putei obine acces la MySQL n mod interactiv,
folosind numeroase interfee care v permit s introducei interogri i s vizualizai rezultate: clieni
n linie de comand, browsere Web sau clieni X Window System. De asemenea, este disponibil o
varietate de interfee de programare pentru limbaje precum C, Perl, Java, PHP i Python. Astfel, avei
opiunea de a folosi programe client preambalate sau de a v scrie propriile programe client pentru
aplicaii personalizate.
Conectivitate i securitate.
MySQL poate fi folosit integral n reele, iar bazele de date sunt accesibile de oriunde din Internet,
deci v putei partaja datele cu oricine, oriunde. Dar MySQL are controlul accesului, astfel nct
persoanele care nu au dreptul s v citeasc datele nu vor avea aceast posibilitate.
Portabilitate.
MySQL ruleaz pe numeroase varieti de UNIX, precum i pe alte sisteme non-UNIX, ca Windows i
OS/2. MySQL ruleaz pe echipamente de la calculatoare de birou la servere cu performane ridicate.
Distribuie liber.
MySQL este uor de obinut; pentru aceasta, folosii-v browserul de Web. Dac nu nelegei
funcionarea unei componente sau suntei curios cu privire la un algoritm, v putei procura codul
surs i l putei examina. Dac nu v place modul de funcionare a unei componente, l putei
modifica.
- 33 -
Website informatii
- 34 -
Website informatii
- 35 -
Website informatii
Vizitatorul poate vizualiza i afla informatii despre produse, dar pentru a comenta, trebuie sa i creeze
un cont.
Creare cont
- 36 -
Website informatii
- 37 -
Website informatii
- 38 -
Website informatii
- 39 -
Website informatii
- 40 -
Website informatii
Campul ordine este folosit pentru a afisa pe site categoriile intr-o anumita ordine (aleasa de
administrator).
Introducere subcategorie
Introducere stire
- 41 -
Website informatii
- 42 -
Website informatii
Concluzii
Aplicatia ajuta la prezentarea stirilor unei mase mult mai mari de consumatori decat presa traditionala.
De asemenea, prezentarea este vizibila 24 de ore pe zi, n orice moment datele putand fi vazute.
Gestiunea este, de asemenea, usoara. Toate operatiile sunt usor de realizat si nu sunt consumatoare de
timp.
Pretul realizarii este mult mai mic, ulterior fiind necesare numai costuri de intretinere, de asemenea
reduse ca marime.
n concluzie finala, aplicatia ofera facilitati de care nu se poate sa nu se beneficieze intr-un prezent al
vitezei.
- 43 -
Website informatii
Bibliografie
Adrian Trac, Georgeta Manafu - Bazele programarii - Editura Arves, Craiova 2006
Florin Radulescu - Note de curs: Baze de date - Bucuresti 2007
Larry Ullman - PHP i MySQL pentru site-uri WEB dinamice - Editura Teora, Bucuresti 2005
L.Welling, L. Thomson - Dezvoltarea aplicaiilor WEB cu PHP i MySQL, Editia a II-a - Editura
Teora, Bucuresti 2004
Steven Holzner - Initiere n PHP 5 - Editura Teora, Bucuresti 2006
Larry Ullman - PHP i MySQL pentru site-uri WEB dinamice - Editura Teora, Bucuresti 2004
Larry Ulman - PHP pentru World Wide Web, n imagini - Editura Teora, Bucuresti 2006
Julie C. Meloni - PHP, MySQL i Apache - Editura Teora, Bucuresti 2006
Cristian Darie, Mihai Bucica - PHP5 i MySQL pentru comert electronic - Editura Teora, Bucuresti
2005
Charles Aulds - Administrarea serverului Apache - seria Linux - Editura Teora, Bucuresti 2005
John V. Petersen - Baze de date pentru ncepatori - Editura Teora, Bucuresti 2006
Microsoft Press - Microsoft FrontPage 2000, curs rapid - Editura Teora, Bucuresti 2001
Traian Anghel - Programarea n PHP. Ghid practic - Editura Polirom 2005
Traian Anghel - Dezvoltarea aplicaiilor WEB folosind XHTML, PHP i MySQL
Editura Polirom 2005
Julie C. Meloni - Invata singur Php, MySql i Apache - Editura Corint 2005
- 44 -
Website informatii
- 45 -
Website informatii
index1.php
<? session_start(); ?>
<? include("index1datesite.php"); ?>
<? include("indexfc.php"); ?>
<? include("data_curenta.php"); ?>
<?
$id_categ = 1;
$nume_categ = "Website stiri, noutati";
if ($_GET['id_categ'] != "")
$id_categ = intval($_GET['id_categ']);
if ($_GET['nume_categ'] != "")
$nume_categ = $_GET['nume_categ'];
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Language" content="ro"/>
<title><? print $titlu_site . " - " . $titlu_pagina; ?></title>
<? $description = "Website stiri, noutati"; ?>
<? $keywords = "Website stiri, noutati"; ?>
<? $description = substr($description . ". " . $titlu_pagina, 0, 160); ?>
<meta name="description" content="<? print $description; ?>">
<meta name="keywords" content="<? print $keywords . "," . $titlu_pagina; ?>">
<!-- <? print $description . ". " . $titlu_pagina; ?> -->
<!-- <? print $keywords . ". " . $titlu_pagina; ?> -->
<meta name="robots" content="all">
<meta name="language" content="RO">
- 46 -
Website informatii
<meta name="REVISIT-AFTER" content="7 DAYS">
<link rel="stylesheet" type="text/css" href="stil.css">
<link rel="stylesheet" type="text/css" href="stil_butoane.css">
<link rel="shortcut icon" href="favicon.ico">
<link rel="icon" type="image/gif" href="animated_favicon1.gif">
</head>
<body>
<div align="center">
<table width="970" border="0" bordercolor="#808080" cellpadding="2" cellspacing="0">
<tr>
<td align='left'>
<img src="img/titlu.jpg" alt="<? print $titlu_site . " " . $titlu_pagina; ?>">
</td>
</tr>
</table>
</div>
<? include("index0sumar.php"); ?>
<div align='center'>
<table border='0' width='970' cellpadding='2' cellspacing='0'>
<tr>
<td width='200' valign='top'>
<? include("index1sumar.php"); ?>
</td>
<td width='570' valign='top'>
<br>
<div align="center">
<h1>
<? print ucfirst($titlu_pagina); ?>
</h1>
</div>
- 47 -
Website informatii
index2.php
</td>
<td width='200' valign='top'>
<? include("index2login.php"); ?>
<? include("index2fav.php"); ?>
</td>
</tr>
</table>
</div>
<div align="center">
<table background="img/linie.gif" width="970" border="0" cellpadding="2"
cellspacing="0">
<tr>
<td align='left'>
<p align="center">
<? print "<a href='" . $adresa_site . "' class='buttons'><b>© " . $titlu_site .
"</b></a>"; ?>
</p>
</td>
</tr>
</table>
</div>
</body>
</html>
index1sumar.php
<div align="center">
- 48 -
Website informatii
<b>Stiri, noutati</b><br>
</div>
<?
include("conectare_la_bd.php");
$sql = "SELECT * FROM tbstiri_categorii ORDER BY ordine, nume_categ";
// print $sql . "<br>";
if (is_sir_sql_valid($sql) == 0) { include("index2.php"); die(); } $rezultat =
mysql_query($sql) or die("Eroare!");
$nr = mysql_num_rows($rezultat);
if ($nr == 0)
print "Nu exista date in baza! <br>";
else
{
while ($row = mysql_fetch_array($rezultat))
{
$id_categ = $row['id_categ'];
$nume_categ = ucfirst(trim($row['nume_categ']));
$adresa_imagine = "imgcateg/" . $id_categ . ".jpg";
if (!file_exists($adresa_imagine))
$adresa_imagine = "img/imagine_lipsa.jpg";
print "<a href='" . $adresa_site . "index.php?
id_categ=$id_categ&nume_categ=Stiri $nume_categ' title='" . $nume_categ . "'
class='buttons'>";
print "<img src='" . $adresa_imagine . "' height='15' border='0' alt='"
. $nume_categ . "'> ";
print "<b>" . $nume_categ . "</b></a><br>";
}
}
?>
<?
include("conectare_la_bd.php");
- 49 -
Website informatii
$sql = "SELECT * FROM tbstiri_subcategorii INNER JOIN tbstiri_categorii
ON tbstiri_subcategorii.id_categ=tbstiri_categorii.id_categ
ORDER BY tbstiri_categorii.ordine, tbstiri_subcategorii.ordine";
// print $sql . "<br>";
if (is_sir_sql_valid($sql) == 0) { include("index2.php"); die(); } $rezultat =
mysql_query($sql) or die("Eroare!");
$nr = mysql_num_rows($rezultat);
if ($nr > 0)
{
print "<b>Stiri subcategorii</b><br>";
$nume_categ_curenta = "";
while ($row = mysql_fetch_array($rezultat))
{
$id_subcateg = intval($row['id_subcateg']);
$nume_subcateg = ucfirst($row['nume_subcateg']);
$id_categ = $row['id_categ'];
$nume_categ = ucfirst(trim($row['nume_categ']));
if ($nume_categ_curenta != $nume_categ)
{
$nume_categ_curenta = $nume_categ;
print "<br><b>" . $nume_categ . "</b><br>";
}
$adresa_imagine = "imgsubcateg/" . $id_subcateg . ".jpg";
if (!file_exists($adresa_imagine))
$adresa_imagine = "img/imagine_lipsa.jpg";
print "<a href='" . $adresa_site . "index.php?
id_subcateg=$id_subcateg&nume_subcateg=Stiri $nume_subcateg' title='" .
$nume_subcateg . "' class='buttons'>";
print "<img src='" . $adresa_imagine . "' height='15' border='0' alt='"
. $nume_subcateg . "'> ";
print "<b>" . $nume_subcateg . "</b></a><br>";
- 50 -
Website informatii
}
}
?>
index0sumar.php
<div align="center">
<table background="img/linie.gif" width="970" border="0" cellpadding="2"
cellspacing="0">
<tr>
<td align='center'>
<a href="<? print $adresa_site; ?>" title="<? print ucfirst($titlu_site); ?>"
class="buttons">Start</a>
</td>
<td align='center'>
<a href="formular1.php" class="buttons">Opinii</a>
</td>
<td align='center'>
<a href="contact.php" class="buttons">Contact</a>
</td>
</tr>
</table>
</div>
index.php
<?
$id_categ = 1;
if ($_GET['id_categ'] != "")
$id_categ = intval($_GET['id_categ']);
$titlu_pagina = "Stiri ";
- 51 -
Website informatii
if ($_GET['titlu_pagina'] != "")
$titlu_pagina = $_GET['titlu_pagina'];
if ($_GET['nume_categ'] != "")
$titlu_pagina = $_GET['nume_categ'];
else
$titlu_pagina .= $_GET['id_categ'];
if ($_GET['autor'] != "")
$titlu_pagina .= " autor " . $_GET['autor'];
if ($_GET['nume_subcateg'] != "")
$titlu_pagina = $_GET['nume_subcateg'];
else
$titlu_pagina .= $_GET['id_subcateg'];
$titlu_pagina_fara_nrpag = $titlu_pagina;
if ($_GET['numar_pagina'] != "")
$titlu_pagina .= " Pagina " . $_GET['numar_pagina'];
include("index1.php");
$titlu_pagina = $titlu_pagina_fara_nrpag;
?>
<?
$adresa_imagine = "";
$id_categ = 1;
if ($_GET['id_categ'] != "")
{
$id_categ = intval($_GET['id_categ']);
$adresa_imagine_temp = "imgcateg/" . $id_categ . ".jpg";
if (file_exists($adresa_imagine_temp))
$adresa_imagine = $adresa_imagine_temp;
}
- 52 -
Website informatii
$id_subcateg = 1;
if ($_GET['id_subcateg'] != "")
{
$id_subcateg = intval($_GET['id_subcateg']);
$adresa_imagine_temp = "imgsubcateg/" . $id_subcateg . ".jpg";
if (file_exists($adresa_imagine_temp))
$adresa_imagine = $adresa_imagine_temp;
}
if ($adresa_imagine != "")
{
print "<p align='center'>";
print "<a href='" . $adresa_imagine . "' target='_blank' title='Imagine " .
$titlu_pagina . "'>";
print "<img src='" . $adresa_imagine . "' alt='" . $titlu_pagina . "' height='200'
border='0'></a>";
print "</p>";
}
include("conectare_la_bd.php");
$sql = "SELECT *
FROM tbstiri_itemi INNER JOIN tbstiri_categorii
ON tbstiri_itemi.id_categ=tbstiri_categorii.id_categ
WHERE data<='" . $data_curenta . "'";
if ($_GET['id_categ'] != "")
$sql .= " AND tbstiri_itemi.id_categ=" . $id_categ;
if ($_GET['autor'] != "")
$sql .= " AND autor='" . $_GET['autor'] . "'";
if ($_GET['id_subcateg'] != "")
$sql .= " AND tbstiri_itemi.id_subcateg1=" . $id_subcateg . " OR
tbstiri_itemi.id_subcateg2=" . $id_subcateg;
$sql .= " ORDER BY data DESC, id_item DESC ";
- 53 -
Website informatii
// print $sql . "<br>";
- 54 -
Website informatii
print "Nu exista date in baza! <br>";
else
{
while ($row = mysql_fetch_array($rezultat))
{
$id_item = $row['id_item'];
$titlu = ucfirst(trim($row['titlu']));
$descriere = ucfirst(trim($row['descriere']));
$autor = ucwords(trim($row['autor']));
$id_categ = $row['id_categ'];
$nume_categ = ucfirst(trim($row['nume_categ']));
$id_subcateg = intval($row['id_subcateg1']);
$data = $row['data'];
$zi = substr($data, 8, 2);
$luna = substr($data, 5, 2);
if ($titlu == strtoupper($titlu))
$titlu = strtolower($titlu);
$titlu = ucfirst($titlu);
$descriere = formatare_text($descriere);
print "<table border='0'>";
print "<tr><td valign='top'>";
// stabilire imagine de afisat
$adresa_imagine = "img/imagine_lipsa.jpg";
$adresa_imagine_temp = "imgcateg/" . $id_categ . ".jpg";
if (file_exists($adresa_imagine_temp))
$adresa_imagine = $adresa_imagine_temp;
$adresa_imagine_temp = "imgstiri/" . $id_item . ".jpg";
if (file_exists($adresa_imagine_temp))
$adresa_imagine = $adresa_imagine_temp;
- 55 -
Website informatii
else
if ($id_subcateg != 0 && $_GET['id_subcateg'] == "")
{
$adresa_imagine_temp = "imgsubcateg/" . $id_subcateg . ".jpg";
if (file_exists($adresa_imagine_temp))
$adresa_imagine = $adresa_imagine_temp;
}
if (file_exists($adresa_imagine))
{
print "<a href='" . $adresa_imagine . "' target='_blank' title='Imagine
" . $titlu_pagina . "'>";
print "<img src='" . $adresa_imagine . "' alt='" . $titlu_pagina . "'
height='100' border='0'></a>";
}
// stabilire imagine de afisat
print "</td><td valign='top'>";
print "<b><i>" . $zi . "-" . $luna . "</i></b>: ";
print "<b>" . $titlu . "</b><br>";
if ($_SESSION['id_tip_user_logat'] == 1) // daca e logat un admin
print "<a href='admin/stiri_modificare1.php?id_item=" . $id_item . "'
target='_blank'>Modificare</a><br>";
print substr($descriere,0,250);
print " <a href='stire_detalii.php?id_item=" . $id_item . "&titlu=" . $titlu .
"'>... [ continuare ]</a><br>";
print "Din categoria <a href='index.php?id_categ=" . $id_categ .
"&nume_categ=Stiri $nume_categ'>Stiri " . $nume_categ . "</a>";
if ($id_subcateg != 0 && $_GET['id_subcateg'] == "")
{
$sql2 = "SELECT * FROM tbstiri_subcategorii WHERE
id_subcateg=" . $id_subcateg . " LIMIT 0,1";
$rezultat2 = mysql_query($sql2) or die("Eroare!");
$nr2 = mysql_num_rows($rezultat2);
if ($nr2 > 0)
- 56 -
Website informatii
{
$row2 = mysql_fetch_array($rezultat2);
$nume_subcateg = ucfirst(trim($row2['nume_subcateg']));
print " - <a href='index.php?id_subcateg=" . $id_subcateg .
"&nume_subcateg=Stiri $nume_subcateg'>Stiri " . $nume_subcateg . "</a>";
}
}
print "</td></tr>";
print "<tr><td colspan='2'>";
print "<hr>";
print "</td></tr>";
print "</table>";
}
}
- 57 -
Website informatii
stil.css
A:active, A:link, A:visited {
color: #0000FF;
}
A:hover {
color: #FFFFFF;
background-color: #0000FF;
}
A.linkmeniu, A.linkmeniu:link, A.linkmeniu:visited {
display: block;
width: 100%;
text-align: center;
- 58 -
Website informatii
text-decoration: none;
color: #0000FF;
font-family: Arial;
font-size: 10pt;
font-weight: bold;
}
A.linkmeniu:hover {
background-color: #0000FF;
color: #FFFFFF;
}
A.whitemeniu, A.whitemeniu:link, A.whitemeniu:visited {
background-color:#006BFF;
color: #FFFFFF;
}
A.whitemeniu:hover {
background-color: #FFFFCC;
color: #000000;
}
BODY {
background-color: #FFFFFF;
background-image: url("_bg1.jpg");
background-attachment: fixed;
font-family: Arial, Helvetica, sans-serif;
font-size: 10pt;
color: #0000FF;
scrollbar-face-color: #0066FF;
scrollbar-arrow-color: #FFFFFF;
scrollbar-track-color: #0077FF;
scrollbar-3dlight-color: #FFFFFF;
scrollbar-shadow-color: #FFFFFF;
scrollbar-highlight-color: #FFFFFF;
- 59 -
Website informatii
}
P, TD, H3, H4, H5, H6 {
font-family: Arial, Helvetica, sans-serif;
font-size: 10pt;
color: #0000FF;
}
H1, H2, H3, H4, H5, H6 {
font-family: Arial, Helvetica, sans-serif;
font-size: 12pt;
font-weight: bold;
color: #0000FF;
}
HR {
color: #0000FF;
}
.menutitle {
cursor:pointer;
margin-bottom: 5px;
background-color:#FFFFFF;
color:#0000FF;
width:120px;
padding:2px;
text-align:center;
font-weight:bold;
/*/*/border:1px solid #000000;/* */
}
.txt {
font-family: Arial, Helvetica, sans-serif;
/* font-size: 10px; */
- 60 -
Website informatii
color: #000066;
background: #FFFFFF;
border: 1px solid #000066;
padding-left: 3px;
}
.buton {
font-family: Arial, Helvetica, sans-serif;
/* font-size: 10px; */
font-weight: bold;
color: #000066;
background: #FFFFFF;
border: 1px solid #000066;
cursor: hand;
}
- 61 -