CATEGORII DOCUMENTE |
Pentru accesarea prin Internet a unui sit continand notele obtinute de elevii unei scoli la examenul de capacitate, s-a realizat pe serverul scolii baza de date Capacitate continand 3 tabele:
|
Fig. 5.2 Structura tabelului elevi
|
Fig. 5.3 Structura tabelului materii
|
Fig. 5.4 Structura tabelului rezultate
Pentru afisarea rezultatelor se va folosi pagina rezultate.html continand un formular cu doua controale, unul de tip password pentru nr_matricol si un buton de tip Submit:
<HTML>
<HEAD><TITLE>Rezultate la examenul de capacitate</TITLE></HEAD>
<BODY bgcolor='yellow'>
<H1 align='center'>Rezultatele elevilor la examenul de capacitate,
sesiunea 2003 </H1>
<CENTER>
<FORM METHOD='POST' action='script.php'>
<B>Numarul matricol : </B>
<INPUT TYPE=password size=10 name='nrmatricol'>
<BR><BR><INPUT TYPE=submit name='submit' value ='Afiseaza!'>
</FORM>
</CENTER>
</BODY>
</HTML>
Daca prelucrarea datelor dintr-un formular se realizeaza folosind un script scris in PHP, acesta poate fi plasat intr-unul dintre directoarele accesibile serverului Apache. In cazul dat, scriptul a fost plasat in acelasi director in care s-a inregistrat pagina care contine formularul si din acest motiv indicarea caii spre fisier nu a mai fost necesara.
Programul script.php scris in PHP care prelucreaza datele trimise spre server la apasarea butonului din formular este urmatorul:
<HTML>
<?php
mysql_connect('localhost', 'mdamian', 'a^X2l1') or die ('Nu ma pot conecta la server');
mysql_select_db('capacitate') or die ('Nu pot selecta baza de date');
$interogare = 'select * from elevi where Nr_Matricol = $nrmatricol';
$rezultat = mysql_query($interogare) or die (mysql_error());
$row = mysqli_fetch_array($rezultat);
echo '<B> Numele: ';
echo $row['nume'];
echo ' <BR> Prenumele: ';
echo $row['prenume'];
echo '</B><BR>';
$interog = 'select materii.nume, rezultate.nota from materii, rezultate where rezultate.ID_materie=materii.ID_materie and rezultate.nr_matricol=$nrmatricol';
$rez = mysql_query($interog) or die (mysql_error());
while ($row = mysqli_fetch_array($rez))
?>
</HTML>
Observatii:
Scriptul prezentat are un numar redus de linii.
Instructiunile compuse folosesc caractere , ca si in C. Desi in exemplul dat instructiunile sunt scrise pe linii separate, folosirea separatorilor ';' face posibila scrierea mai multor instructiuni pe un rand.
Parola necesara accesarii bazei de date este scrisa in clar (problema de securitate).
Codul scris in PHP este cuprins intre marcaje <?php si ?> (sau <? si ?>). In afara codului scris in PHP pot fi scrise marcaje HTML obisnuite, serverul interpretandu-le ca atare si incluzandu-le in fisierul trimis aplicatiei folosite la navigare.
Atribuirea se realizeaza folosind '=' si numele variabilelor incep cu un caracter '$'.
Conectarea la baza de date se realizeaza apeland succesiv functiile PHP mysql_connect() si mysql_select_db().
Pentru a trimite comenzi SQL serverului MySQL se foloseste functia mysql_query().
Sirurile de caractere care descriu pagina de raspuns sunt incluse in fisierul standard de iesire (trimis aplicatiei de navigare) folosind comanda echo.
Valoarea introdusa in formular in campul denumit nrmatricol este disponibila direct, in variabila $nrmatricol, fara a fi necesara prelucrarea explicita a sirului de caractere transmis spre server in momentul apasarii butonului de tip submit.
Un rand din multimea obtinuta ca urmare a executarii unei comenzi SQL select este recuperat folosind functia mysqli_fetch_array() iar valoarea unui camp din rand este obtinuta folosind ca si indice al tabelului &row creat de mysqli_fetch_array() chiar numele campului, de exemplu : $row['nume'];
Fisierul in format HTML trimis prin retea aplicatiei de navigare ar putea avea un continut ca si cel de mai jos:
<HTML>
<B> Numele: Ionescu
<BR> Prenumele: Gabriela</B>
<BR>Informatica 9.5
<BR>Limba romana 7.5<BR>
</HTML>
Avand in vedere faptul ca prelucrarea datelor din formular este realizata de un script PHP inregistrat in acelasi director cu pagina care contine formularul, se pot combina cele doua fisiere intr-unul singur, rezultate.php. In fisierul rezultate.php se va include la inceput un test care va verifica daca apelul este urmare a apasarii butonului submit. De asemenea scriptul destinat prelucrararii informatiei din formular este indicat prin folosirea variabilei $PHP_SELF care memoreaza calea spre fisierul curent, cel care contine formularul.
<HTML>
<?
if (isset($sub) && $sub == 'Afiseaza!')
} else ?>
</HTML>
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 2176
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved