Utilizarea Programarii Web Pentru Evidenta Medicilor Si Pacientilor Unui Spital
CUPRINS
Introducere
Capitolul I. Introducere în Limbajul HTML.
Introducere în HTML
Elementele limbajului HTML
Marcaje de bază
Marcaje pentru structurarea documentului
Marcaje pentru formatarea textului și crearea listelor
Marcaje pentru crearea hyperlegăturilor
Marcaje pentru introducerea de obiecte
Capitolul II. Formatarea paginilor WEB prin intermediul foilor de stil CSS.
Despre CSS
Sintaxa CSS
Selectori
Atributul class
Atributul id
Tag-urile div și span
Utilizarea CSS-urilor
Proprietăți și valori pentru fonturi
Capitolul III. Limbajul PHP
Noțiuni introductive
Variabile și constante in PHP
Operatori folosiți in PHP
Structuri de control
Funcții pentru șiruri de caractere
Sesiuni
Capitolul IV. Lucrul cu baza de date MySQL
Noțiuni de bază
Conectarea la baza de date
Crearea tabelelor
Introducerea datelor
Preluarea datelor
Prelucrarea datelor
Stergerea datelor
Capitolul V. Utilizarea programării Web pentru evidența medicilor și pacienților unui spital
Concluzii
Bibliografie
CAPITOLUL I
Introducere in Limbajul HTML
Introducere in HTML
HTML (Hypertext Markup Language) este un limbaj creat în scopul de a descrie, în mod text, formatul paginilor Web; fișierele create în acest limbaj vor fi interpretate de navigatoare, care vor afișa paginile în forma dorită (cu texte formatate, liste, tabele, formule, imagini, hiperlegături, obiecte multimedia etc.). HTML a apărut ca o aplicație ISO standard (aparține standardului SGML – Standard Generalized Markup Language, specializat pentru hipertext și adaptat la Web).
Așa cum se poate dedu ce din numele limbajului, HTM L descrie caracteristicile de format ale ele mentelor incluse prin proc edee de marcare. Acestea pot fi asem ănate intuitiv cu marcajele folosi te în tipografie pentru a indi ca scrierea unui text cu un an umit tip de caractere. Fiecare elem ent va fi introdus între do uă marcaje ("tags", în limba engle ză) – de început și sfârșit – (uzual) de genul <marcaj> … </marcaj>. Caracterele speciale de delimitare a marcajelor "<", ">" permit deose birea acestora de textul propr iu-zis. De exemplu, pentru textele aldi ne (îngroșate), marcajul de înc eput este <B>, iar de sf ârșit – </B>.
Procesele de standa rdizare și de includere a com enzilor de marcare în fișie rele HTML permit navigatoarelor să citeasc ă și să formateze pag inile Web, lucru foarte impor tant în condițiile în care ele con țin nu numai text e alb-negru, ci și culor i, imagini, hiperlegături, diverse obi ecte. Practic, marcajele HTML asi gură controlul asupra modului de afi șare a obiectelor corespunzătoare în c adrul programelor de vizualizare a do cumentelor HTML – navigatoarele.
Limbajul HTML a evoluat în v ersiuni succesive, odată cu evoluția proto colului HTTP și a programelor de na vigare. Astfel, HTML 1.0 era com patibil cu Mosaic, primul program de nav igare, dar după apariția unor navigatoa re noi, a fost necesară introducerea un ui standard oficial Internet pentru co nstruirea paginilor (HTML 2.0) și extinderea sa cu noi fa cilități: formule matematice, tabele, moduri avansate de descriere a organizării paginilor (începând cu HTML 3.0).
Standardizarea limbajului HTML a fost reali zată de consorțiul WWW și dezvolt ată de diverși producători de soft (unii dintre ei urmăresc chiar promovarea navigatoarelor proprii prin introdu cerea unor particularități în form atele oficiale).
Paginile HTML se pot crea cu orice editor de texte de către utilizatorii care cunosc limbajul HTML sau, mai simplu, se pot utiliza editoare speciale, în care obiectele se introduc interactiv iar codul HTML se generează automat. Având în vedere că și în acest caz este utilă cunoașterea marcajelor generate pentru corectarea eventualelor erori (mai ales în cazul link-urilor), vom prezenta în continuare entitățile care se pot introduce în paginile HTML și marcajele caracteristice acestora.
Elementele limbajului HTML
Toate obiectele HTML sunt introduse între marcaje care le definesc; majoritatea acestora sunt de forma <tip_obiect> (la început) și </tip_obiect> (la sfârșit). Tipul sta ndard al obiectului poate fi specif icat cu majuscule sau minuscule; to tuși, se recomandă utilizarea majuscu lelor fiindcă astfel marcajele ie s în evidență.
Majoritatea navigatoarelor permit vizualizarea paginii curente în formatul sursă HTML (forma pe care o interpretează pentru afișarea paginii). La interpretare, programele de navigare ignoră spațiile și <Enter>-urile, aplicând formatarea specificată.
Există însă și marcaje cu parametri; acestea au forma <tip_obiect param1=valoare1 param2=valoare2 …>. De exemplu, obiectele de tip imagine sunt introduse cu delimitatorul <IMG>, care are diverși parametri. Pentru definirea hiperlegăturilor se folosește marcajul <A>, care are de asemenea parametri proprii.
Codurile de marcare HTML pot fi clasificate în următoarele categorii:
marcaje de bază – cele care delimitează pagina / documentul HTML, titlul acesteia și corpul paginii;
marcaje pentru structurarea documentului – care permit introducerea de subtitluri, paragrafe, linii de delimitare;
marcaje pentru formatarea textului și crearea listelor;
marcaje pentru crearea hiperlegăturilor (hyperlinks);
marcaje pentru introducerea de obiecte – tabele, formule, imagini sau obiecte multimedia preluate din fișiere, formulare.
Vom descrie în paragrafele următoare, elementele caracteristice fiecăreia din aceste categorii.
Pentru structurarea și organizarea informațiilor din paginile web se pot utiliza frame-uri (marcajul <FRAME>), prin care la un moment dat se afișează mai multe ferestre continând fiecare câte o pagină. Introducerea și gestiunea frame-urilor se realizează foarte convenabil folosind editoarele HTML.
Mai menționăm faptu l că în ultimele versiuni ale lim bajului HTML și ale browser-elor s-a introdus posibilitatea integră rii, respectiv lansării în ex ecuție printr-un navigator, a unor aplicații. Ele sunt scrise în limba jul Java, un limbaj cu caracter istici distribuite și obiectuale, adaptat progr amării în Web; ele se nume sc "applet"-uri și se introduc în su rsele HTML cu marcajul <APP> sau <APP LET> . Ultimele versiuni de ed itoare HTML permit introducerea inter activă a applet-urilor Java.
Marcaje de bază
O pagină Web este delimitată de marcajele <HTML> si </HTML> care indică începutul și finalul documentului și conține:
zonă de antet cuprinsă între marcajele: <HEAD> … </HEAD>
un corp delimitat de marcajele: <BODY> … </BODY>.
Zona de antet este utilizată de către programele de căutare pe site-urile web și permite specificarea titlului paginii care va fi afișat de navigator (nu apare propriu-zis în conținutul paginii).
Titlul, introdus în antet, este cuprins între marcajele <TITLE> … </TITLE>.
Astfel, o formă extrem de simplă a unui document HTML ar putea fi cea din următorul exemplu:
<HTML>
<HEAD> <TITLE>Titlul documentului </TITLE>
</HEAD>
<BODY>Document HTML foarte simplu</BODY>
</HTML>
Marcaje pentru structurarea documentului
Programele de navigare asigură afișarea diferențiată a unor titluri și subtitluri pentru secțiunile pagi nii, după criteriile impl ementate în acest scop la con ceperea sa (litere mai mari sau mai m ici, diverse culori, litere ald ine sau simple, unul sa u mai multe rânduri lib ere după titlu etc.).
Titlur ile de capitole sau subtitlurile s unt definite de marcajele <Hn>, un de n este o cifră între 1 și 6 care sp ecifică nivelul titlului (1 este titl ul principal, iar 6 cor espunde celui mai scăz ut nivel).
Astfel:
<H 1> … </H 1> indică un subt itlu de nivelul 1.
…
<H6> … </H6> indi că un subtitlu de nivelul 6.
Pentru separarea zonelor paginii se pot folosi treceri la:
linie nouă – cu marcajul <BR>, eventual cu desenarea unei linii orizontale – marcajul <HR>;
paragraf nou – cu marcajul <P> (se inserează o linie nouă și eventual se face o indentare). Marcajul </P> desemnează sfârșitul de paragraf, dar este mai rar folosit (se poate omite).
Marcaje pentru formatarea textului si crearea listelor
Formată rile uzuale de texte perm it scrierea cu caractere:
aldine – în acest sco p pentru acel text se ap lică marcajele <B>… </B>;
cursive (itali ce) – pentru acel text se ap lică marcajele <I> … </I>;
sublinia te – textul se introduce într e marcajele <U> …</U>.
Unele programe mai vechi de navigare nu permiteau reprezentarea acestor formate; în acest caz, se aplicau alte moduri de evidențiere a textelor respective (culori, video invers).
Alte tipuri de formatări de caractere care se pot defini se referă la:
dimensiunea fonturilor și culori – se va utiliza marcajul cu parametri:
<FONT SIZE=x COLOR=y> … </FONT> , care indică utilizarea unui font de dimensiune x si culoare y.
x poate fi un număr între 1 si 12, indicând mărimea exactă, sau un număr cu semn, indicând mărimea relativă la dimensiunea curentă.
y poate fi numele unei culori standard, specificată în limba engleză și între ghilimele, sau, eventual, descompunerea unei culori în componentele RGB, sub formă hexazecimală (câte două cifre hexa pentru fiecare componentă).
Suplimentar, se pot crea pagini de stiluri, în care să se definească stiluri logice, modificabile ulterior; în acest scop, se folosesc marcajele <DN> – definitie, <EM> – punere în evidență, <STRONG> – accentuare puternică.
Pentru tastaturile care suportă numai codurile ASCII, caracterele speciale se pot crea folosind formatul &nume_caracter – de exemplu, è pentru e. Având în vedere semnificația specială a caracterelor <, > și &, apariția lor în documente trebuie specificată sub forma caracterelor speciale: < , > , respectiv & .
Prezentăm în continuare un exemplu de document HTML, precum și modul în care acesta este afișat de browser.
<!DOC TYPE HT ML PUB LIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>Pag ina simpla</title>
</head>
<bo dy>
<p>Acesta este un ex emplu simplu de o
pagina HTML. Ea arata cum
pot aparea car actere <strong>bo ld</strong>, <em>italic</em>,
<font size="5">mai m ari</font>,
<font size="1">mai mi ci</font>,
respectiv insera
o mica im agine
<img src="Handsh ake8114.gif"
width="20" height="14">.
</p>
</body>
</ht ml>
În figură, se observă că textul propriu-zis al documentului poate fi delimitat față de codurile de marcare, iar formatarea textului din documentul HTML nu corespunde cu cea afișată de programul de vizualizare:
textul este extins pentru a ocupa întregul ecran și este afișat cu un corp de literă diferit față de sursa HTML;
terminatorii de linie nu sunt respectați;
spațiile albe suplimentare din documentul sursă sunt ignorate.
Introducerea obiectelor de tip imagine (marcajul <IMG>) este detaliată mai jos.
Limbajul HTML permite definirea mai multor tipuri de liste și imbricarea lor (includerea unor liste în altele), caz în care trebuie verificată cu atentie core spondența dintre marcajele de început și sf ârșit pentru fiecare listă. Formatarea li stelor la afișarea paginii (introducerea bulinelor, nu merotării etc.) se face de către progra mul de navigare.
Eleme ntele listelor se introduc între marcajele <LI> … </LI> ("list item"). Mod ul de apariție al elementelor depinde de tip ul de listă în care sunt incluse (cu bu line, numerotate etc.), determinat de m arcajul specific.
Așadar, listele pot fi:
neor donate (cu buline) – delimitate de ma rcajele <UL> … </UL> ("unordered list"); elementele lor se afișează cu buline;
ordo nate (numerotate) – delimitate de marcaj ele <OL> … </OL> ("ordered list"); elementele lor se vor num erota;
de tip meniu – delim itate de marcajele <MENU> … </MENU>; eleme ntele acestor liste apar într-o reprez entare compactă pe ecran (mu lticoloană);
glosare (liste de definiții) delimitate de marcajele <DL> … </DL> ("definition list"); elementele acestora au câte două componente, introduse respectiv cu marcajele <DT> (pentru nume) și <DD> (pentru semnificația asociată);
tabele scurte – create cu marcajul <DIR>area li stelor la afișarea paginii (introducerea bulinelor, nu merotării etc.) se face de către progra mul de navigare.
Eleme ntele listelor se introduc între marcajele <LI> … </LI> ("list item"). Mod ul de apariție al elementelor depinde de tip ul de listă în care sunt incluse (cu bu line, numerotate etc.), determinat de m arcajul specific.
Așadar, listele pot fi:
neor donate (cu buline) – delimitate de ma rcajele <UL> … </UL> ("unordered list"); elementele lor se afișează cu buline;
ordo nate (numerotate) – delimitate de marcaj ele <OL> … </OL> ("ordered list"); elementele lor se vor num erota;
de tip meniu – delim itate de marcajele <MENU> … </MENU>; eleme ntele acestor liste apar într-o reprez entare compactă pe ecran (mu lticoloană);
glosare (liste de definiții) delimitate de marcajele <DL> … </DL> ("definition list"); elementele acestora au câte două componente, introduse respectiv cu marcajele <DT> (pentru nume) și <DD> (pentru semnificația asociată);
tabele scurte – create cu marcajul <DIR>.
Listele utilizate cel mai frecvent sunt cele ordonate si neordonate. Prezent ăm în continuare un exemplu simplu de pagină H T M L care contine aceste tipuri de liste.
<html>
<head>
<title>Pagin a cu liste</title>
</head>
<body>
<p>Acea sta pagina exem plifica crearea listelor</p>
<p>Cel e mai uzual folos ite tipuri de liste sunt:
<ul>
<li>ne ordonate</li>
<li>ordon ate</li>
</ul>
<p>O li sta ordonata este o list a numerotata:
<ol>
<li>prim ul element;</li>
<li>al doilâea element…</li>
</ol>
</b ody>
</html>
Exemple de liste într-o pagină HTML
Marcaje pentru crearea hiperlegăturilor
Hiperlegăturile ("hyperlinks") se introduc cu marcajele <A> … </A> ("anchor") aplicate asupra unui text sau a unei imagini. Ele se pot crea către:
adrese URL – astfel se asigură accesul în cadrul procesului de navigare (prin protocoale specifice), nu numai la paginile web, ci și la diverse servicii Internet;
fișiere / resurse locale adică aflate pe același calculator cu pagina creată – link-uri locale ; acestea ar putea fi accesate și printr-un URL cu protocolul "file" dar pentru mai multă simplitate, este suficientă specificarea numelui și căii fișierului local;
o zonă din documentul HTML curent – link-uri interne.
În fiecare din aceste cazuri, un click pe textul sau imaginea respectivă va determina activarea legăturii și afișarea prin intermediul navigatorului a resursei asociate link-ului.
Resursa asociată unei legături este descrisă prin parametrii marcajului <A>:
HREF – permite asocierea unei adresei URL, crearea unei legături locale prin specificarea numelui și căii fișierului corespunzător sau a unei legături interne documentului; este cel mai important parametru pentru construirea de hiperlegături;
NAME – numele hiperlegăturii sau al zonei dintr-o pagină către care se face referirea, în cazul unui link intern;
METHODS – metodele de acces (acest parametru se utilizează doar în prelucrări speciale).
Astfel, un link local sau către o adresă URL se poate defini pe un text cu: <A HREF="resursa"> text </A>.
O legătură internă către o zonă a documentului curent se indică folosind marcajul <A NAME="nume-zona">.
Marcaje pentru introducerea de obiecte
Prima versiune de HTML (1.0) nu permitea descr ierea tabelelor sau a informațiilor formatate. Asem enea obiecte trebuiau create form atat și introduse ca obiect deja for matat, cu marcajele <PRE>, </PRE>. Aceste marca je indicau navigatorului că textul inc lus trebuia afișat caracter cu car acter, fără vreo intervenție de format ar e. În versiunile ulterioare ale limbajului HTML, s-au introdus însă fa cilități elegante de formatare, de includere a ta belelor și a altor obiecte.
În HTML 3.0 au fost introduse obiectele de tip tabel, formate din linii ori zontale și coloane verticale la intesecția cărora se formează celulele. Acestea pot con ține intrări diverse: texte, figuri sau ch iar alte tabele. Se pot realiza reun iri de celule (de exemplu, pentru t itluri mai lungi). Atributele de formatar e a tabelului (aliniere, stilul chenarului și marg inilor etc.) se definesc în proiectarea paginii, dar tipul lor de afișare va depinde și de programul nostru de navigare.
Tabelel e se introduc între marcajele <TABL E> … </TABL E>, cărora li se pot atașa (optional) parametrii BORD ER și RUL ES. Un titlu p entru tabel se poate intr oduce cu marcajul <CA PTION>. Fiecare coloană se defin ește cu marcajul <COL>, avân d ca parametru ALIG N – modul de aliniere a informa țiilor din acea coloană (LE FT, CENTER, RIG HT).
Antetul tabelul ui se poate indica între mar cajele <TH>…</TH> ("Tab le Header"), pentru trecerea la o nouă linie se utilizează marcajul <TR> ("Table Row") iar celu lele individuale se ma rchează cu <TD> ("Table Data"), eventu al cu parametru de alin iere. Se mai pot adăuga alinieri orizontale sau verti cale ale celulelor, grupă ri de celule etc. Aceste marcaje permit navi gatorului să afișeze difer ențiat informațiile din tabel.
Prezentăm în continuare un exemplu simplu de tabel.
<HT ML>
<HEA D>
<TIT LE>Pagi na cu tabel</TITLE>
</HEAD>
<BODY>
<H1>Aceasta pa gina da un exe mplu de folosire a unui tabel</H1>
<H3>Vanzari anuale:</H3>
<TAB LE> <TH>1996</TH><TH>1997</TH><TH>1998</TH><TR>
<TD>125 milioane lei</TD><TD>160 milioane lei</TD><TD>231 milioane lei</TD>
</TABLE>
</BO DY>
</HTML>
Exemplu de tabel într-o pagină HTML
Mărimea liniilor și a coloanelor poate fi controlată suplimentar prin marcajele <ROWSPA N=x> și respectiv <COLSPAN=y>, fiecare aratând mărimea în "celule normale". În plus, se poate indica trasarea unei margini pentru tabel, prin marcajul <TABLE BORDER>.
Includerea imaginilor se face folosind marcajul <IMG>, care are parametri specifici:
SRC indică (după semnul '=') URL-ul imaginii, respectiv calea fișierului dacă acesta este local; uzual, se acceptă fișiere în format GIF sau JPEG;
ALLIGN controlează alinierea imaginii față de limita inferioară a textului (TOP, MIDDL E sau BOTT OM); este un parametru opțional;
ALT furnizează textul afișat în locul imaginii dacă utilizatorul dezactivează opțiunea de afișare a imaginilor (parametru opțional);
ISMAP este un indicator opțional pentru imaginile care sunt hărți selectabile.
Astfel, introducerea simplă a unei imagini se poate realiza cu <IMG SRC="specificare-imagine">. Un exemplu de imagine inserată într-o pagină HTML este prezentat în figura de mai sus.
Remarcăm faptul că, utilizând parametri specifici, marcajul <IMG> se poate folosi și pentru inserarea unor fișiere multimedia, cum ar fi secvențele video. Având în vedere că aceste operații se realizează mai ușor folsind un editor HT ML.
Form ulare. HTML 1.0 permitea uzual doar transf erarea informațiilor de la furn izori către utilizatori, tran sferul în sens invers fiin d foarte dificil. Odată cu dezv oltarea Web-ului și mai ales cu utiliz area sa în scopuri comerciale și în alte domenii, s-a făcut simțită și necesitatea comuni cării în dublu sens pe ntru preluări de comenzi, com pletarea unor fișe de înregist rare, distribuirea de pro duse soft, administrarea de chest ionar, transmiterea unor informatii personale etc. Ac estea au fost motivațiile introduce rii formularelor în HT ML 2.0.
Formularele conțin obiecte de control care permit utilizatorilor introducerea de informații prin completarea unor câmpuri specifice (casete de text), prin selectarea sau activarea unor opțiuni (comutatoare, grupuri sau liste de opțiuni). Aceste informații vor fi transmise, după activarea butonului SUBMIT (echivalentă cu tastarea lui <Enter>) proprietarului paginii, introduse în baze de date dedicate și prelucrate cu aplicații specifice.
Formularele se introduc prin marcajelele <FORM> … </FORM> , cărora li se ata șează parametri specifici care def inesc metodele de transmitere și trat are a datelor. Un formular poate conține obi ecte de control de diverse ti puri, definite cu marcajul <IN PUT> și o varietate de parametri ca re stabilesc, pentru obiectu l definit, tipul, dimensiu nea și modul lui de afișa re. Astfel, se pot crea câmpuri de text (care vor fi completate cu texte de către utilizator), liste de alternative, comutatoare, grupuri de opțiuni, butoane, hărți active etc.
Datele preluate prin intermediul formularelor se tratează conform standardului CGI (Common Gateway Interface) prin intermediul unor programe sau script-uri CGI. În plus, un asemenea script poate interactiona cu baza de date creată pentru realizarea unor acțiuni specifice (de exemplu, hărțile active folosesc script-uri CGI pentru a executa diferite acțiuni, în funcție de zona selectată de utilizator).
Script-urile CGI pot executa și alte operații decât prelucrarea formularelor, producând ieșiri convenabile. Dacă o hiperlegătură duce spre un script CGI, la selectare a legăturii se va executa script- ul (cu anumite variabile de cont ext care rețin diverse inform ații de stare). Script-ul va genera un fișier, de exemplu o pagină web, care va fi int erpretat(ă) de navigator. Acest mecani sm permite script-urilor să gen ereze, aproape instantaneu, pag ini web care să satisfacă diver se cerințe ale utilizatorilor, furnizâ nd anumite răspunsuri așteptate în u rma unor acțiuni.
Crearea interactivă a form ularelor, folosind produse so ft specializate în realizarea de pagini W eb este relativ accesibilă pentru u tilizatorii familiarizați cu caracteristi cile obiectelor de control specif ice aplicațiilor soft dar tratarea ulterioa ră a informațiilor transmise nece sită cunoștințe de specialitate.
Numele, simbolu rile și procedura de introducere interac tivă dintr-un editor HT ML (de exemplu, Microsoft Fro nt Page) a obiectelor de control sunt ext rem de apropiate de cele asociate obiectelor asemănătoare din formularele sau rapoart ele Microsoft Access. Pentru utilizato rii mai puțin avizați însă, cre area, chiar interactivă, a formul arelor este mai dificilă.
CAPITOLUL II
Formatarea paginilor WEB prin intermediul foilor de stil CSS
Despre CSS
• Un Cascading Style Sheet (CSS) descrie modul de reprezentare al unei pagini HTML, într-un fișier separat
• CSS are următoarele avantaje:
– Separă conținutul de prezentare
– Permite definirea modului de afișare și layout-ul tuturor paginilor de pe un server web intr-un singur loc
– Poate fi utilizat atat pentru pagini HTML cat si pentru documente XML
• CSS are următoarele dezavantaje:
– Nu toate browserele suportă CSS-uri
Sintaxa CSS
Sintaxa fișierelor CSS este foarte simplă – Acesta constă dintr-o listă de:
– selectori (pentru alegerea tag-urilor);
– descriptori (pentru a indica ce vrem sa facem cu acestea);
Exemplu: h1 {color: green; font-family: Verdana} spune ca tot ce este inclus in tag-ul h1 va fi afișat în verde utilizând fontul Verdana.
Un fișier CSS va conține deci o listă cu astfel de perechi (selector, descriptor)
– Selectorii pot fi simple tag-uri HTML sau XML, dar se pot defini și moduri de combinare a tag-urilor;
– Descriptorii sunt definiți în standard-ul CSS.
Sintaxa generală este:
selector {proprietate: valoare} sau:
selector, …, selector {
proprietate: valoare;
. . .
proprietate: valoare
}
Unde:
• selector este tagul ce va fi afectat (acesta este case-sensitive daca și numai dacă limbajul documentului este case-sensitive), ex: HTML este case-insensitive
• proprietate și valoare descriu modul de afișare al acelui tag
Spațiile și punct și virgula sunt opționale. Punct și virgula este utilizată pentru a separa perechile proprietate:valoare.
Selectori
Așa cum am văzut, un tag (X)HTML sau XML poate fi un selector simplu :
body { background-color: #ffffff }
Se pot utiliza și selectori multipli:
em, i {color: red}
Putem repeta selectori:
h1, h2, h3 {font-family: Verdana; color: red}
h1, h3 {font-weight: bold; color: pink}
Când se suprapun proprietățile se utilizează ultima valoare definită.
Selectorul universal * se aplică asupra tuturor elementelor:
* {color: blue}
Când valorile se suprapun, selectorul sepecific primează înaintea celui general.
Selectorul descenent selectează un tag cu un anumit ascenent (strămoș):
– p code { color: brown }
– selecteză tag-ul code dacă acesta se află undeva in interiorul unui paragraf.
Selectorul copil > selecteză un tag daca are un anumit parinte:
h3 > em { font-weight: bold }
– selecteză tag-ul em numai dacă parintele lui imediat este tag-ul h3.
Selectorul adiacent selecteză un element dacă se află imediat dupa un altul:
b + i { font-size: 8pt }.
Exemplu: <b>Text Bold</b> <i>Text italic</i>
Se va afișa astfel: Text Bold Text italic.
Un selector simplu de atribut permite selectarea elementelor care au anumite atribute, indiferent de valoarea acetora:
– Sintaxa: element[atribut] { … }
– Exemplu: table[border] { … }
Un selector de atribut cu valoare permite selectarea elementelor ce au un atribut cu o valoare data:
– Sintaxa: element[atribut="valoare"] { … }
– Exemplu: table[border="0"] { … }
Exemplu:
<html>
<head>
<title>HTML/CSS Test Selectori</title>
<style TYPE="text/css">
p code { color: green }
h3 > em { color: red; font-weight: bold }
b + i { font-size: 8pt }
</style>
</head>
<body>
Secventa de cod:
<code>if (x ==0) exit(1); </code><br>
<p><code>if (x ==0) exit(1); </code></p>
<p><i><code>if (x ==0) exit(1); </code></i></p>
<h3><em>Copil</em></h3>
<h3><u><em>Nepot</em></u></h3>
<p><b>Text Bold</b> <i>Text italic</i> <i>Text italic</i></p>
<p><i>Text italic</i><b>Text Bold</b></p>
</body>
</html>
Atributul class
Atributul class permite definirea de stiluri multiple pentru același element (tag)
În CSS:
p.important {font-size: 24pt; color: red}
p.fineprint {font-size: 8pt}
În HTML:
<p class="important">Text important!</p>
<p class="fineprint">Text pt. listare</p>
Pentru definirea unui selector care să se aplice tuturor elementelor din acea clasă, se elimină numele elementului (dar pastrăm punctul):
.fineprint {font-size: 8pt}
Atributul id
Atributul id se definește similar cu atributul class, dar utilizează # in loc de .
În CSS:
p#important {font-style: italic} sau # important {font-style: italic}
În HTML:
<p id="important">text important</p>
Class și id pot fi utilizate simultan, fără ca numele să difere:
<p class="important" id="important">
Tagurile div și span
Div și span sunt elemente HTML utlizate exclusiv pentru a pastră informația CSS.
Div asigură o linie nouă înainte și după (similar cu paragraf), span nu.
Sintaxă: <div> …</div>
<span> … </span>
Exemplu:
– CSS: div {background-color: #66FFFF}
span.color {color: red}
– HTML: <div>Acest div este tratat similar cu un paragraf,dar
<span class="color">acest span</span> nu este tratat ca un paragraf.</div>
Utilizarea CSS-urilor
Exista trei moduri de utilizare a CSS-urilor:
– Style sheet extern – acesta este cel mai puternic. Se aplică atât la HTML cât și XML. Toate elementele de sintaxa CSS pot fi utilizate.
– Style sheet intern – se aplică numai la HTML, nu și la XML. Toate elementele de sintaxa CSS pot fi utilizate.
– Styles sheet inline – se aplică numai la HTML, nu și la XML. NU toate elementele de sintaxa CSS pot fi utilizate.
Proprietăți și valori pentru fonturi
• font-family:
– inherit (moștenește de la părinte)
– Verdana, "Courier New", … (fontul utilizat dacă există)
– serif | sans-serif | cursive | fantasy | monospace
(Fonturi generice: browserul decide ce font se folosește)
• font-size:
– inherit | smaller | larger | xx-small | x-small | small | medium |
large | x-large | xx-large | 12pt
• font-weight:
– normal | bold |bolder | lighter | 100 | 200 | … | 700
• font-style:
– normal | italic | oblique
• color: și background-color:
– aqua | black | blue | fuchsia | gray | green | lime | maroon | navy | olive | purple | red | silver | teal | white | #FF0000 | #F00 | rgb(255, 0, 0) | nume-specifice-browserelor (nerecomandate)
• Lungimile se specifica prin:
– em, ex, px, %
• font size, x-height, pixels, procent din dimensiunea moștenită
– in, cm, mm, pt, pc
• inchi, centimetri, milimetri, puncte, picas (1 pica = 12 points)
• text-align:
– left | right | center | justify
• text-decoration:
– none | underline | overline | line-through
• text-transform:
– none | capitalize | uppercase | lowercase
• text-indent
– length | 10% (indentează prima linie dintr-un text)
• white-space:
– normal | pre | nowrap
CAPITOLUL III
Limbajul PHP
Noțiuni introductive
În cazul paginilor statice create cu HTML utilizatorul poate vedea doar imagini și text. Folosind PHP însă vom putea crea așa numitele pagini dinamice în care apare elementul de interactivitate: se pot prelua date din formulare realizate în PHP, citi, prelucra și afișa. De asemenea se poate face interacțiunea cu o bază de date creată pe un server.
Pentru a putea lucra cu PHP trebuie în primul rând să avem acces la un server pe care rulează PHP (acesta poate fi server separat sau server virtual creat pe calculatorul personal). Acest server (cel virtual) poate fi instalat folosind pachetul WAMP care este free pe internet.
Observații:
– Codul PHP poate fi scris folosind editorul Notepad;
– În cazul în care lucrăm cu Wamp, fișierul care conține codul programului php trebuie să aibă extensia php și să fie salvat în subfolderul WWW din folderul WAMP;
– Lansarea în execuție se face utilizând un browser (expl Internet Explorer) în care se va scrie în bara de adrese:
http://localhost/<nume_fisier.php> (Expl: http://localhost/exemplu.php).
Crearea primului script php:
<?php
echo ”Primul script php”;
?>
Obs: echo – afișează un mesaj
Combinarea codului HTML cu cod PHP:
Acest lucru se întâmpla foarte des. În interiorul unui script HTML poate exista script PHP delimitat de etichetele <?php și ?> însă fișierul final trebuie sa fie PHP.
Exemplu:
<html>
<body>
Text combinat HTML cu PHP
<?php
echo ”Text scris cu PHP”;
?>
</body>
</html>
Comentarii în scrispturi:
# – un tip de comentariu pentru un rând
// – un alt tip de comentariu pentru un rând
Variabile și constant în PHP
Variabilele sunt mărimi care pot lua diferite valori. Numele dat unei variabile începe întotdeauna cu simbolul $ urmat de o litera sau caracterul „_”. Nu poate fi precedat niciodată de o cifră.
Definim o variabilă astfel:
$<variabila>=<valoare>;
Observație: Tipul de date este specificat prin valoarea atribuită variabilei inițiale.
Exemplul 1:
$a=1; // număr întreg (zecimal)
$b=3.14: // număr real
$c=”exemplu de text”; //șir de caractere
$c=’exemplu de text’; //șir de caractere
$matrice = array('alb','rosu','verde'); //matrice
$a=TRUE; //variabilă booleana
Exemplul 2:
……..
$a=1;
echo “Numarul ”, $a,”<br>”;
……..
Se va afișa : Numarul 1
În cazul unui șir de caractere definit prin ghilimele duble se pot folosi următoarele secvențe:
Secventa Semnificatie
\n rand nou
\r sfarsit de linie
\t tab orizontal
\\ backslash
\$ simbol dolar
\" ghilimele duble
Variabile predefinite
$_SERVER['REMOTE_ADDR'] – afișează adresa IP a vizitatorului
$_SERVER['HTTP_USER_AGENT']- afișează informatii despre browserul folosit
$_SERVER['HTTP_REFERER'] – afișează pagina vizitata anterior
$_SERVER['SERVER_NAME'] – afișează numele serverului
$_SERVER['SCRIPT_NAME'] – afișează numele scriptului
Crearea constantelor
Constantele sunt create cu ajutorul funcției define.
Expl: define (“PI”, 3.14);
Operatori folosiți în PHP
În PHP există următoarele tipuri de operatori:
Operatori aritmetici:
Operatori de comparație:
Operatori logici:
Observații: Numerele aleatoare sunt returnate de funcția rand()
Expl:
……
echo rand(); // se generează un număr aleator
echo rand(1,50) // se generează un număr aleator de la 1 la 50.
Structuri de control
ATRIBUIREA
Sintaxa este:
$<nume_variabila>=<valoare>, unde valoare poate fi o constantă, o variabilă sau o expresie
DECIZIA
Sintaxa IF este:
if <condiție_logică>
<instrucțiune1>
else
<instrucțiune2>
Mod de lucru:
– se testează condiția logică. Dacă este adevarată se execută instrucțiunea 1, dacă este falsă se execută instrucțiunea 2.
Sintaxa SWITCH este:
$variabila=<valoare>
switch($variabila)
{
case <val1>:
<instructiune1>;
break;
case <val2>:
6
<instructiune2>;
break;
………….
case <valn>:
<instructiunen>;
break;
default:
<alta_instructiune>
Mod de lucru:
– se citește valoarea unei variabile
– se va executa instrucțiunea corespunzatoare cazului când <vali>=<valoare>
– dacă nu este corespunde nici un caz se va executa instrucțiunea din default
REPETITIA
Sintaxa WHILE este:
while (<condiție_logică>)
<instrucțiuni>
Mod de lucru:
– se testează condiția logică. Cât timp este adevarată se execută instrucțiunile din cadrul structurii.
Sintaxa DO ….WHILE este:
do //repetă
<instrucțiune1>
<instrucțiune2>
…………..
<instrucțiune n>
while <condiție_logică> //cât timp condiția este adevarată
Mod de lucru: Se execută instrucțiunile cât timp condiția este adevarată.
Sintaxa FOR este:
for (<contor=valoare_inițială>; <contor=valoare_finală>; <incrementează_contor>)
<instrucțiuni>
Mod de lucru:
– cât timp contorul nu a ajuns la valoarea finală se execută instrucțiunile și se incrementează contorul.
Funcții pentru șiruri de caractere
a) strlen – returnează lungimea unui șir de caractere.
Exemplu:
<?php
$a=”test”;
echo strlen($a);
?>
Afișare: 4
b) strstr – caută un subșir într-un șir.
Exemplu:
if( strstr( $sir, “PHP” ) = = true )
echo “găsit”;
else
echo “nu am găsit”;
c) stristr – identică cu strstr doar că nu tine cont de litere mari sau mici.
d) substr – afișează un subșir într-un șir dat.
Exemplu:
<?php
$s="invat php";
echo substr( $s, 1, 2);
?>
Afișare: nv
e) str_replace – inlocuiește un subșir cu un șir dat.
Exemplu:
<?php
$s="invat php";
echo str_replace( "invat", "stiu", $s);
?>
Afișare: stiu php
f) strtoupper – schimbă tipul literelor (din mici in mari).
g) strtolower – schimbă tipul literelor (din mari in mici).
h) trim – șterge spațiile dintr-un șir.
i) nl2br – transforma caracterele ‘enter’ in <br>.
Exemplu:
<?php
echo nl2br( "text afișat pe
3
linii" );
?>
Afișare:
text afișat pe
3
linii
j) explode – extrage subșiruri dintr-un sir, fiecare subșir extras punându-l într-un array(matrice).
Forma generală:
array explode ( string $delimiter , string $string [, int $limit ]
$delimiter – caracterul după care se face delimitarea
Exemplu:
<?php
$propozitie = "Exemplu de folosire a functiei explode";
$cuvinte = explode(" ", $propozitie);
echo $cuvinte[0] ." ". $cuvinte[5];
?>
Afișare: Exemplu explode
k) implode – pune elementele dintr-un array intr-o variabilă.
Forma generală:
string implode ( string $delimiter , array $components)
Exemplu:
<?php
$array = array('lastname', 'email', 'phone');
$a= implode(",", $array);
echo $a;
?>
Afișare: lastname,email,phone
l) header – este funcția prin care utilizatorul este redirecționat de pe pagina de procesare, pe pagina inițială (adresa poate fi orice pagina).
Exemplu:
9
header('location: http://google.ro');
Sesiuni
Cu ajutorul sesiunilor PHP reține informații de la o pagină la alta. După crearea unei sesiuni informația se păstrează pana la închiderea browser-ului, sau până cand utilizatorul distruge sesiunea curentă. Sesiunile au următoarele avantaje:
– permit stocarea unui volum mai mare de informații comparativ cu cookie-urile
– pot fi folosite chiar dacă browserul utilizatorului nu suportă cookie-uri sau dacă acestea sunt dezactivate.
Inițializarea unei sesiuni se face cu funcția session_start() care trebuie să fie printer primele linii de cod dintr-un script PHP, deoarece apelul acesteia trebuie făcut înainte de trimite către browser-ul Web a unui cod HTML.
Exemplul 1: Parolarea unei pagini php utilizând sesiuni
Fișierul de start index.php conține codul:
<?php
include "sesiune.php";
?>
……………………………restul codului fișierul index.php
Fișerul sesiune.php conține codul:
<?php
session_start();
if(!isset($_SESSION['SESS_LOG']))
{
header("location: logare.php");
exit();
}
?>
Fișierul parola.php conține codul:
<?php
session_start();
$login =$_POST['login'];
if($login=="parola")
{
session_regenerate_id();
$_SESSION['SESS_LOG'] = "1";
session_write_close();
header("location: index.php");
exit();
}
else
{
header("location: logare.php");
exit();
}
?>
Fișierul logare.php conține codul:
<form action="parola.php" method="post">
<b>Parola :</b>
<input type="password" name="login" />
<input type="submit" value="Login" id="loginbutton" name="Submit"/>
</form>
Fișierul logout.php conține codul:
<?php
session_start();
unset($_SESSION['SESS_LOG']);
?>
Exemplul 2: Contor de vizitare – afișează de câte ori s-a vizitat o pagină
<?php
session_start();
if(!isset($_SESSION['count']))
{
$_SESSION['count']=1;
}
else
{
$_SESSION['count']++;
}
echo $_SESSION['count'];
CAPITOLUL IV
Lucrul cu baza de date MySQL
Acesta este modul în care lucrează o bază de date cu un server.
4.1 Noțiuni de bază
Bazele de date sunt folosite pentru stocarea informațiilor în vederea furnizării ulterioare în funcție de solicitarea primită.
MySQL este un sistem de baze de date funcțional independent.
In PHP exista functii pentru toate operatiile executate asupra bazelor de date MySQL.
Administrarea MySQL se poate face din linie de comandă sau folosind browserul și accesand aplicația numită PHPMyAdmin scrisă în PHP.
Cele mai uzuale operații cu bazele de date sunt:
În MySQL spațiul alocat pe discul serverului este funcție de tipul de date. Câteva din tipurile de date folosite în bazele de date MySQL sunt:
Pentru ca baza de date sa funcționeze mai bine coloanelor li s-au adăugat modificatori de coloană.
Tipul de date întregi încep de la valori negative la pozitive. Dacă se adaugă opțiunea UNSIGNED, care este un modificator de coloană, nu vor mai fi valori negative ci vor incepe de la 0.
Alți modificatori sunt: AUTO_INCREMENT funcționează cu orice tip întreg. La fiecare rând nou adăugat în baza de date numărul asociat va fi incrementat.
NULL înseamnă fără valoare (diferit de spațiu sau zero).
NOT NULL înseamnă că orice înregistrare va fi considerată ceva.
PRIMARY KEY este rolul primei coloane din tabel, totodată reprezentând elementul de referință pentru fiecare linie.
4.2 Conectarea la baza de date
De cate ori vom lucra cu MySQL va trebui să ne conectăm la baza de date folosind o anume sintaxa. Vom salva aceasta secvența de cod cu numele conexiune.php putând fi folosită ulterior în mai multe scripturi utilizând funcția include().
/* urmează fieșierul conexiune.php */
<?php
$hostname="localhost";
$username="root";
$password="pass";
$database="test"; $conexiune=mysql_connect($hostname,$username,$password) or die ("Nu ma pot conecta la baza de date");
$bazadate=mysql_select_db($database,$conexiune) or die ("Nu gasesc baza de date");?>
mysql_connect() este funcția prin care ne conectăm la baza de date cu următorii parametrii: numele serverului, nume utilizator și parola pentru conectarea la baza de date.
Variabila $conexiune va avea o valoarea TRUE sau FALSE funcție de rezultatul conectării la serverul MySQL folosind funcția mysql_connect(), iar in cazul eșuării va afișa mesajul conținut de construcția die().
mysql_select_db este funcția care stabilește baza de date la care ne vom conecta, având ca parametrii numele bazei de date și identificatorul de acces la conexiunea către serverul MySQL.
4.3 Crearea tabelelor
Bazele de date conțin tabele. Aceste tabele sunt similare cu cele din HTML conținând rânduri și coloane. Fiecare diviziune se numește celulă sau câmp și are anumite proprități. Fiecare tabel din baza de date are un nume sau titlu. Fiecare coloană din tabel are un nume sau titlu.
Sintaxa pentru crearea tabelului este:
CREATE TABLE nume_tabel (coloana_1, coloana_2,…, coloana_n);
Coloanele vor fi separate prin virgulă iar fiecare coloană va avea un nume și tip.
Pentru a crea un tabel mai întâi includem în script fișierul anterior conexiune.php de conectare la baza de date și apoi folosim funcția CREATE TABLE.
NOTA: În urmatoarele exemple nu voi mai menționa că includ acest fișier dar se va subînțelege acest lucru de câte ori voi face o operație cu baza de date.
mysql_query este o funcție folosită pentru interogarea unei baze de date. Folosește parametrii: cererea emisă serverului MySQL și identificatorul de acces la baza de date.
Exemplu: creăm tabelul probă cu 3 coloane. Prima coloană este id de tip PRIMARY KEY de 3 caractere, a doua nume de 20 caractere tip varchar, iar a treia prenume de 40 caractere tot varchar. Înainte de a crea tabelul îl ștergem daca el există deja.
/* urmează fișierul create.php */
<?php
include "conexiune.php";
$delete="DROP TABLE IF EXISTS proba";
mysql_query($delete, $conexiune);
$table="CREATE TABLE proba (
id int(3) NOT NULL AUTO_INCREMENT,
nume varchar(20) NOT NULL ,
prenume varchar(40) NOT NULL ,
PRIMARY KEY (id)) TYPE=MyISAM";
if(mysql_query($table)){
echo "Tabelul a fost creat";
}
else{
echo "Tabelul nu a fost creat";
}
mysql_close($conexiune);
?>
In funcție de valoarea mysql_query este afișat succesul sau insuccesul creării tabelului.
4.4 Introducerea datelor
INSERT este comandă pentru introducerea datelor in baza de date. Cel mai frecvent mod de introducere a datelor este preluarea lor dintr-un formular adecvat structurii bazei de date.
Sintaxa pentru introducerea datelor în tabelul bazei de date este:
INSERT INTO nume_tabel (coloana_1, coloana_2,…, coloana_n) values ('valoare_1','valoare_2',…,'valoare_n');
4.5 Preluarea datelor
Proprietatea SELECT poate fi utilizată într-o comandă mysql_query pentru a alege anumite informații din tabelul bazei de date.
Sintaxa pentru introducerea datelor în tabelul bazei de date este:
$sql=mysql_query("SELECT * FROM nume_tabel");
Pentru a afișa fiecare rând din tabel se folosește o buclă while și comanda mysql_fetch_row.
Exemplu: afișarea întregului conținut al bazei de date
/* urmează fișierul select.php */
<?php
include "conexiune.php";
$sql=mysql_query("SELECT * FROM proba");
echo "<table border=1>";
echo "<tr><td>ID</td><td>Nume</td><td>Prenume</td></tr>";
while ($row=mysql_fetch_row($sql)) {
echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td></tr>";
}
echo "</table>";
mysql_close($conexiune);
?>
Datele au fost afișate fiecare într-o celulă a unui tabel.
Folosind funcția mysql_num_rows($sql) putem afla numărul de linii conținute de baza de date.
Exemplu: același exemplu plus numărul de linii al bazei de date
/* urmeaza fisierul select1.php */
<?php
include "conexiune.php";
$sql=mysql_query("SELECT * FROM proba");
$rows=$mysql_num_rows($sql);
echo "<b>$rows</b> inregistrari in baza de date<p>";
echo "<table border=1>";
echo "<tr><td>ID</td><td>Nume</td><td>Prenume</td></tr>";
while ($row=mysql_fetch_row($sql)) {
echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td></tr>";
}
echo "</table>";
mysql_close($conexiune);
?>
Exemplu: căutarea în baza de date după o anumită înregistrare folosind condiția WHERE.
/* urmează fișierul cautare.html */
<html>
<head><title>Cautare</title>
</head>
<body>
<b>Cautare inregistrari</b>
<form method="POST" action="where.php">
Numele cautat: <input type="text" name="nume1"><br>
<input type="submit" value="Trimite">
</form>
</body>
</html>
/* urmeaza fisierul where.php */
<?php
include "conexiune.php";
$nume1=$_POST['nume1'];
$sql=mysql_query("SELECT * FROM proba WHERE nume='$nume1'");
echo "<table border=1>";
echo "<tr><td>ID</td><td>Nume</td><td>Prenume</td></tr>";
while ($row=mysql_fetch_row($sql)) {
echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td></tr>";
}
echo "</table>";
mysql_close($conexiune);
?>
4.6 Prelucrarea datelor
Putem modifica valoarea unei înregistrări din baza de date pentru un anume id cu urmatoarea sintaxa:
UPDATE nume_tabel SET coloana_1='$nou_coloana_1', coloana_2='$nou_coloana_2', …, coloana_n='$nou_coloana_n'WHERE id='$nou_id';
Cunoscând valoarea identificatorului id al unei înregistrări putem actualiza o înregistrare în baza de date, dar mai înainte trebuie să afișăm înregistrările pentru a selecta care se potrivesc solicitărilor noastre.
Primul fișier va afișa sub forma unui formular fiecare înregistrare din baza de date. Câmpurile formularelor sunt completate cu valorile corespunzătoare fiecarei înregistrări, ele putănd fi modificate.
/* urmează fișierul update.php */
<?php
include "conex iune.php";
$query="SELE CT * FROM proba WHERE id='$id'";
$result = mysql_query("SELECT * FROM proba");
$num=mysql_numrows($result);
mysql_close();
$i=0;
while ($i < $num) {
$id=mysql_resul t($result,$i,"id");
$nume=mysql_result($result,$i,"nume");
$prenume=mysql_result($result,$i,"prenume");
?>
<form action="upd ated.php" method="post">
<input type="hidden" name="ud_id" value="<? echo "$id";?>">
Nume: <input type="text" name="ud_nume" value="<? echo "$nume";?>">
Prenume: <input type="text" name="ud_prenu me" value="<? echo "$prenume";?>">
<input type="Submit" value="Modifica">
</form> <?php
++$i;}
?>
Al doilea fisier preia datele modificate si le suprascrie in baza de date.
/* urmeaza fisierul updated.php */
<?php include "conexiune.php";
$query="UPDATE proba SET nume='$ud_nume', prenume='$ud_prenume' WHERE id='$ud_id'";
$checkresult = mysql_query($query);
if ($checkresult) {
echo "Modificare efectuata";
} else {
echo "Modificare neefectuata";
}
mysql_close();
?>
4.6 Ștergerea datelor
Ștergerea poate fi facută folosind id-ul înregistrării dorite cu sintaxa:
DELETE FROM nume_tabel WHERE id='$id';
Primul fișier va conține un formular prin care introducem datele care vor fi căutate în baza de date.
/* urmează fișierul stergere.html */ <html>
<head><title>Stergere inregistrari</title>
</head><body>
<b>Cautare inregistrari in vederea stergerii</b><p>
<form method="POST" action="delete.php">
Numele cautat: <input type="text" name="nume"><br>
<input type="submit" value="Trimite">
</form></body>
</html>
Al doilea fișier va afișa rezultatul căutării și un formular în care vom completa id-ul înregistrării care dorim s-o ștergem.
/* urmează fișierul delete.php */
<?php
include "conexiune.php";
$nume=$_POST['nume'];
$sql=mysql_query("SELECT * FROM proba WHERE nume LIKE '%$nume%'");
echo "<table border=\"1\">";
echo "<tr><td>ID</td><td>Nume</td><td>Prenume</td></tr>";
while ($row=mysql_fetch_row($sql)) {
echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td></tr>";
}
echo "</table>";
mysql_close($conexiune);
?><p>
<form method="POST" action="delete1.php">
ID-ul inregistrarii ce va fi stearsa: <input type="text" name="id" size="3"><br>
<input type="submit" value="Trimite">
</form>
Al treilea fișier preia id-ul dorit și șterge respectiva înregistrare.
/* urmează fișierul delete1.php */
<?php
include "conexiune.php";
$id=$_POST['id'];
$sql=mysql_query("DELETE FROM proba WHERE id='$id'");
if (!$sql) {
die(mysql_error());
} else {
echo "datele au fost sterse";
}
mysql_close($conexiune);
?>
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Utilizarea Programarii Web Pentru Evidenta Medicilor Si Pacientilor Unui Spital (ID: 158419)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
