Content management system pe scurt CMS (acronim obtinut din litere ale cuvintelor unei expresii) reprezinta un grup de aplicatii ce reduc la minim cunostintele necesare pentru a redacta site-uri.
Se folosesc programe ,meniuri si opțiuni interactive .
1.APLICATIE PRACTICA BAZE DE DATE
Urmăriți filmul din link --->FILM cu tema practica și după crearea bazei de date alimente ,după rularea interogării incercați să alegeți opțiunea corectă .
Motivarea alegerii oricărei opțiuni se va face în scris.
2. CREAREA UNUI mini-MAGAZIN ONLINE – MINIAPLICATIE
![]() |
FORMULAR CE SE POATE REDACTA CU SIMFATIC FORMS , COFFE CUP HTML MAKER , WEB PAGE MAKER ETC |
Administratorul
paginii poate introduce în pagina de
administrare pretul , denumirea , descrierea produsului , o imagine relevantă.
Fiecare
element al paginii trebuie foarte bine stilizat cu CSS.
Dacă
avem un număr mare dev fișiere folosim Sass și un compilator ce aplică tuturor
fișierelor stilul dorit automatizând procesul .
Pentru
redactarea primară a unui formular se poate merge mai repede cu un editor
specializat cum ar fi Symfatic Form .
Efectul
se vede mai sus , după doar câteva clicuri (captcha code etc ).
Avem si
un validator de date.
3.APLICATIE PRACTICĂ Crearea unui formular in PHP7 si rularea in server
XAMPP
Redactati in NOTEPAD ++:
<?php
echo(“<form><input
type =’text’ name=’t’ id=’t’ ></form>”);
$e=$_REQUEST[‘t’];
echo($e.” este textul
scris in formular “);
?>
SALVATI cu numele aplic1.php in C:/XAMPP/htdocs .
Porniti serverul XAMPP , apoi porniti serverele Apache si
MySQL.
Scrieti in browser adresa http;//localhost/aplic1.php
EXPLICATII
·
trebuie sa avem XAMPP instalat
·
echo permite redactarea codului HTML direct in
PHP numai daca acesta e scris intre ghilimele
·
ghilimelele din instructiunea echo nu au voie sa
aiba alte ghilimele in interior si de aceea in interior se pun in locul ghilimelelor
apostrofuri
·
$_REQUEST – permite preluarea in php 7 a datelor
din formular
·
datele se introduce in PHP cu ajutorul
formularelor in mod uzual
·
de regula rezultatele prelucrarii se afiseaza pe
ecran
4. APLICATIA 2 in php - suma primelor 100 de numere din intervalul [1,100]
<?php
$s=0;$i=0;
for($i=1;$i<=100;$i++) $s=$s+$i;
echo ("s=".$s);
?>
5.BAZE DE DATE
Baza de date e alcătuită din fișiere , din colecții de date , dinînregistrari,din tabele . De regulă atât baza de date cât și tabela din ea au o denumire .
Colectia are numai date de acelasi tip , Intre colectii apar relatii tip unu la unu , unu la mai multe , mai multe la mai multe , Exista riscul de a aparea dubluri in baza de date si de aceea se procedeaza la normalizarea datelor (I-a forma normala pana la a V-a forma normala )
O modelare a unei baze de date presupune crearea unei relatii intre Entitatea supusa modelarii , Atributele sale , Valorile atributelor .
Pentru a realiza un site cu baze de date asociate se poate folosi online aplicatia CPANEL.
E un exemplu de CMS.
Winlamp are tot ce trebuie : server Apache, server php, server Mysql
XAMPP are server Apache , Mysql , phpmyadmin e f util la realizarea unor pagini WEB deoarece are update-uri frecvente si e util în asociere cu NOTEPAD++ și cu un browser cu funcții extinse
6. TEST (pt notă)
Realizati o diagrama ENTITATE -RELATIE pt modelarea unei baze de date utila in reprezentarea unei retele de calculatoare . Sunt relevante aspecte cum ar fi ip , numele calc , sist de op , etc .Modelul e dat nai jos si se face in WORD cu INSERARE-->SMART ART
Realizati in CPANEL o baza de date cu aplicatia mysql numita retea .
Apoi introduceti date cu aplicatia phpMyAdmin.
Mai sus e o modelare de tip entitate+atribute+valori
realizată in WORD .
La sustinerea atestatelor la proba practica e utila utilizarea diagramelor.
La sustinerea atestatelor la proba practica e utila utilizarea diagramelor.
Mai jos apar pe pagina cum vor arăta în final cadrele pt pagini web externe și formularele .
Să reținem ca se completează formulare , se transmit prin metode post sau get sau acțiune mailto. Daca setăm un automat de procesare e-mailuri sau un script php pt prelucrare vom putea să prelucram informația primită de la formulare .
În fapt cu cpanel se face baza de date , dar baza de date este alimentata cu informație prin formulare.
Se folosesc șabloane ca cele prezentate aici. Fara răbdare și cunoștințe minime nu se pot face aceste formulare să funcționeze.
Notiuni utile pt crearea de pagini web cu HTML si Javascript gasim la :EXEMPLE
7.HTML
Cadre iframe
Cadrele sunt pagini WEB incluse in forma minimizata in pagina gazda .
Mai jos avem un exemplu in HTML . Daca browserul da eroare avem un mesaj.
<!DOCTYPE html>
<html>
<body>
<iframe src="http://www.google.ro">
<p>Your browser does not support iframes.</p>
</iframe>
</body>
</html>
Acest cadru cu instrucțiunea HTML iframe nu mai funcționează în browsere si sisteme de operare mai actuale .
Se preferă frameset cu stabilirea lățimii coloanelor și a înălțimii rândurilor , elementele cadre fiind mentionate cu tag-ul HTML src :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
<HTML>
<HEAD>
<TITLE>A simple frameset document</TITLE>
</HEAD>
<FRAMESET cols="20%, 80%">
<FRAMESET rows="100, 200">
<FRAME src="http://lectiideticsiinfo.blogspot.ro">
<FRAME src="http://slither.io">
</FRAMESET>
<FRAME src="http://descopera.ro">
<NOFRAMES>
<P>This frameset document contains:
<UL>
<LI><A href="http://google.ro">Some neat contents</A>
<LI><IMG src="http://edu.ro" alt="A neat image">
<LI><A href="http://descopera.ro">Some other neat contents</A>
</UL>
</NOFRAMES>
</FRAMESET>
</HTML>
8.Formulare web (pt teza si pt teste practice )
La probe practice se vor introduce formularele de mai jos care au culoarea albastru in site-ul generat pe 000webhost.
Un formular este un ansamblu de zone active alcatuit din butoane
,casete de selectie,campuri de editare etc.
Formularele va asigura construirea unori pagini Web care permit utilizatorilor
sa introduca efectiv informatii si sa le transmita serverului.Formularele pot
varia de la o simpla caseta de text ,pentru introducerea unui sir de caractere
pe post de cheie de cautare - element caracteristic tuturor motoarelor de cautaredin
Web - pana la o structura complexa ,cu multiple sectiuni ,care ofera facilitati
puternice de transmisie a datelor.
O sesiune cu o pagina web ce contine un
formular cuprinde urmatoarele etape:
a. Utilizatorul completeaza formularul si il expedieaza unui server.
b. O aplicatie dedicata de pe server analizeaza formularul completat si (daca este necesar) stocheaza datele intr-o baza de date.
c. Daca este necesar serverul expedieaza un raspuns utilizatorului.
b. O aplicatie dedicata de pe server analizeaza formularul completat si (daca este necesar) stocheaza datele intr-o baza de date.
c. Daca este necesar serverul expedieaza un raspuns utilizatorului.
Un formular este definit intr-un bloc delimitat de etichetele
corespondente <form> si </form>.
Exista doua atribute esentiale ale elementului <form>.
1. Atributul
action
precizeaza ce se va
intampla cu datele formularului odata ce acestea ajung la destinatie.De regula
,valoarea atributului action
este adresa URL a unui script aflat pe un srver WWW care primeste datele
formularului ,efectueaza o prelucrare a lor si expedieaza catre utilizator un
raspuns. <form
action="http://www.yahoo.com/cgi-bin/nume_fis.cgi">.
Script-urile pot fi scrise si in limbajele Perl,C,PHP,Unix shell.
In urmatorul exemplu folosim evenimentul click.
<form action="" method="get">
<input type="button" value="Apasa!" onClick="alert('Hello!')"> </form>
2. Atributul
method
precizeaza metoda
utilizata de browser pentru expedierea datelor formularului.Sunt posibile
urmatoarele valori: get
(valoarea implicita).In acest caz ,datele din formular sunt adaugate la adresa URL precizata de atributulaction
;
- - nu
sunt permise cantitati mari de date
- intre adresa URL si date este inserat un "?".
Datele sunt adaugate conform
sintaxei:
Exemplu:
nume_camp =
valoare_camp
. Intre diferite seturi de date este introdus
un "&".Exemplu:
"http://www.yahoo.com/cgi-bin/nume_fis.cgi?nume1
= valoare1&nume2 = valoare2"
; post
In acest caz datele sunt expediate separat. Sunt permise cantitati mari de date
Pentru ca un formular sa fie functional, trebuie precizat ce se va
intampla cu el dupa completarea si expediere.
Cel mai simplu mod de utilizare a unui formular este expedierea acestuia prin posta electronica (e-mail).
Pentru aceasta se foloseste un atribut al etichetei <form> si anume
Cel mai simplu mod de utilizare a unui formular este expedierea acestuia prin posta electronica (e-mail).
Pentru aceasta se foloseste un atribut al etichetei <form> si anume
action
care primeste ca valoare " mailto: " concatenat cu o adresa valida de
e-mail catre care se va expedia formularul completat.
Un formular cu un camp de
editare si un buton de expediere
Majoritatea elementelor unui formular sunt definite cu ajutorul etichetei
<input>. Pentru a preciza tipul elementului se foloseste atributul
type
al
etichetei <input>. Pentru un camp de editare, acest atribut
primeste valoarea "text". Alte atribute pentru un element <input>
sunt: - atributul
name
,permite atasarea unui nume fiecarui element al formularului. - atributul
value
,care permite atribuirea unei valori initiale unui element al formularului.
Un buton de expediere al unui formular se introduce cu ajutorul
etichetei <input>, in care atributul
type
este
configurat la valoarea "submit".Acest element poate primi un nume
prin atributul name
.
Pe buton apare scris "Submit Query" sau valoarea atributului value
,daca
aceasta valoare a fost stabilita. <html>
<head><title>
Formular </title></head>
<body><h1>
Un formular cu un camp de editare si un buton de expediere</h1>
<hr>
<form
action="mailto:xxxxx@xxx.com" method="post">
Numele:
<input
type="text" name="numele" value="Numele si
prenumele"><br>
<input
type="submit" value="expedieaza">
</form></body>
</html>
Pentru elementul <input> de tipul camp de editare (type =
"text") , alte doua atribute pot fi utile:
- atributul
size
specifica latimea campului de editare depaseste aceasta latime ,atunci se executa automat o derulare acestui camp; - atributul
maxlength
specifica numarul maxim de caractere pe care le poate primi un camp de editare; caracterele tastate peste numarul maxim sunt ignorate.
Observatii:
-
daca atributul
type
lipseste intr-un element <input> , atunci campul respectiv este
considerat in mod prestabilit ca fiind de tip "text".
-
formularele cu un singur camp (de tip text) nu au nevoie de un buton de
expediere, datele sunt expediate automat dupa completarea si apasarea tastei
ENTER.
Butonul Reset
Daca un element de tip <input> are atributul
Un buton Reset poate primi un nume cu ajutorul atributului
Un asemenea buton afiseaza textul "Reset" daca atributul
type
configurat la valoarea "reset" ,atunci in formular se introduce un
buton pe care scrie "Reset". La apasarea acestui buton ,toate
elementele dinn formular primesc valorile prestabilite (definita odata cu
formularul ), chiar daca aceste valori au fost modificate de utilizator. Un buton Reset poate primi un nume cu ajutorul atributului
name
si o
valoare printr-un atribut value
.
Un asemenea buton afiseaza textul "Reset" daca atributul
value
lipseste, respectiv valoarea acestui atribut in caz contar. <html>
<head><title>
formex_2</title></head>
<body><h1>
Un
formular cu un buton reset</h1>
<hr>
<form
action="mailto:xxxxx@xxx.com" method="post">
Introduceti numele:
<input
type="text" name="nume"
value="Numele"><br>
Introduceti prenumele:
<input
type="text" name="prenume" value="Prenumele"><br>
<input
type="reset" value="sterge"> <input
type="submit">
</form></body>
</html>
Daca se utilizeaza eticheta <input> avand atributul
Toate atributele unui camp de editare raman valabile.
Singura deosebire consta in faptul ca acest camp de editare nu afiseaza caracterele in clar,ci numai caractere *,care ascund de privirile altui utilizator aflat in apropiere valoarea introdusa intr-un asemenea camp.
La expedierea formularului insa, valoarea tastata intr-un camp de tip "password" se transmite in clar.
type
configurat la valoarea "password" , atunci in formular se intyroduce
un element asemanator cu un camp de editare obisnuit (introdus prin
type="text").Toate atributele unui camp de editare raman valabile.
Singura deosebire consta in faptul ca acest camp de editare nu afiseaza caracterele in clar,ci numai caractere *,care ascund de privirile altui utilizator aflat in apropiere valoarea introdusa intr-un asemenea camp.
La expedierea formularului insa, valoarea tastata intr-un camp de tip "password" se transmite in clar.
<html>
<head><title>
formex_3</title></head>
<body><h1>
Un
formular cu un buton reset</h1>
<hr>
<form
action="mailto:xxxxx@xxx.com" method="post">
Nume:
<input
type="text" name="nume"
value="Numele"><br>
Prenume:
<input
type="text" name="prenume"
value="Prenumele"><br>
Password:
<input
type="password" name="parola" ><br>
<input
type="reset" value="sterge"> <input
type="submit" value="trimite">
</form></body>
</html>
Butoanele radio permit alegerea ,la un moment dat , a unei singure
variante din mai multe posibile. Butoanele radio se introduc prin eticheta <input>
cu atributul
type
avand valoarea "radio". <html>
<head><title>
formex_4</title></head>
<body><h1>
Un
formular cu butoane radio</h1>
<hr>
<form
action="mailto:xxxxx@xxx.com" method="post">
Alegeti sexul:
<input
type="radio" name="sex" value="b"><br>
Femeiesc:
<input
type="radio" name="sex" value="f"><br>
<input
type="reset"> <input type="submit">
</form></body>
</html>
La expedierea formularului se va transmite una dintre perechile
"sex=b" sau "sex=f",in functie de alegerea facuta de utilizator.
Casete de validare
O caseta de validare (checkbox)permite selectarea sau deselctarea
unei optiuni.
Pentru inserarea unei casete de validare se utilizeaza eticheta <input> cu atributul
Observatii:
Pentru inserarea unei casete de validare se utilizeaza eticheta <input> cu atributul
type
configurat la valoarea "checkbox".Observatii:
-
fiecare caseta poate avea un nume definit prin atributul
fiecare caseta poate avea valoarea prestabilita "selectat" definita prin atributul
name
.fiecare caseta poate avea valoarea prestabilita "selectat" definita prin atributul
checked
. <html>
<head><title>
formex_5</title></head>
<body><h1>
Un
formular cu casete checkbox</h1>
<hr>
<form
action="mailto:xxxxx@xxx.com" method="post">
Alegeti meniul:
<br>
Pizza
<input
type="checkbox" name="pizza" value="o portie">
Nectar
<input type="checkbox" name="nectar" value="un
pahar">
Bere
<input
type="checkbox" name="bere" value="o sticla">
Cafea
<input
type="checkbox" name="cafea" value="o
ceasca"><br>
<input
type="reset"> <input type="submit">
</form></body>
9. INSTRUCTIUNI PHP SI INSTRUCTIUNI MYSQL
Sa retinem ca instructiunile in php se scriu conform unor reguli
- prefaţate de marcajul <? php
- se termină cu marcajul ?>
- variabilele se prefixează obligatoriu cu semnul $
- echo sau print e folosit pt scriere , daca se trece o secvenţă de cod HTML intre ghilimele este executată
- se preiau date din formulare sau alte variabile din pagini web cu instructiunea import
- intre ghilimele se pun apostrofuri chiar dacă sintaxa ar cere în mod obişnuit tot ghilimele
- este limbajul utilizat pt a prelua date din formulare , pt a opera ulterior cu aceste date
- exista posibilitatea de a opera usor cu baze de date create in MYSQL .
Metoda este post-o metoda mai sigura decat get si transmiterea datelor se face efectiv prin apasarea butonului submit .
FISIERUL index.html
<html>
<head><title > form </title></head>
<body>
<fieldset>
<center>
<legend>
<p>
<b>
<font size="+3" color="#FAF">
Form with name & e-mail </b>
</p> </font>
</legend>
</div>
<form action="foo.php" method="post">
Name: <input name="username" /><br />
Email: <input name="email" /><br />
<input name="submit" value="Submit me!" />
</form>
</fieldset>
</body>
</html>
Fiserul foo.php va contine
<?php
// Available since PHP 4.1.0
echo $_POST['username'];
echo $_REQUEST['username'];
import_request_variables('p', 'p_');
echo $p_username;
// Available since PHP 3. As of PHP 5.0.0, these long predefined
// variables can be disabled with the register_long_arrays directive.
echo $HTTP_POST_VARS['username'];
// Available if the PHP directive register_globals = on. As of
// PHP 4.2.0 the default value of register_globals = off.
// Using/relying on this method is not preferred.
echo $username;
?>
VOM PUBLICA AMBELE FISIERE CU CPANEL .
Observam ca :
- $_POST preia variabilele transmise prin metoda POST
- p este variabila in care se preiau datele , are un alias p_
- se utilizeaza $p_username sau $p_email pt avea acces la datele formularului aflat in fisierul cu extensie .html
- http://ideone.com/X7Z79I e un exemplu f simplu de cod online
Tabelele au campuri ce pot fi de tip numeric , boolean , text , varchar , memo, blob etc
Dupa ce cream structura se pun inregistrari in baza de date si se pot rula interogari precum cele de la linkul de mai jos :
Observam lucruri simple :
- SELECT e folosita cu filtre WHERE si FROM pt a afisa date din tabele
- datele o data modificate se foloseste instr UPDATE pt ca baza de date sa arate si in pagina web modificarile
- stergerea se face cu DELETE
Foarte important este sa urmarim pe pagina de atestate exemplul dat ca model vom observa ca mysql_querry nu se mai utilizeaza in variante mai noi de php , la fel mysql_connect ,multe alte functii au disparut fata de variantele vechi ale php-in linkul model2 aveti un extras dintr-un tutorial php-mysql .Cititi despre mysqli_connect ,mysqli_querry
OPERATII
cu baze de date MYSQL in script php
-stergerea din baza de date
necesita adaugarea in scriptul php a unei instructiuni de genul :
$sql = "DELETE FROM tabela where camp='valoare'";
Observam
ca in scriptul php nu avem voie sa punem ghilimele intre alte ghilimele .
Se vor
inlocui ghilimelele cu apostrofuri.
-cautarea in baza de date se face cu operatorul MYSQL like in genul:
$sql = "SELECT * FROM tabela where camp1 or camp2 or camp3…. like '%$term%'";
Unde variabila $term = mysqli_real_escape_string( $_POST['term']);
Aici este logic ca term este un id sau un name de element
dinttr-un formular WEB .
<form action="search.php"
method="post">
Search: <input type="text"
name="term" />
<br />
<input type="submit"
name="submit" value="Submit" />
</form>
->MODELUL in rezolvarea subiectelor pt baze de date