Documente Academic
Documente Profesional
Documente Cultură
Raport Lucrare de Laborator
Raport Lucrare de Laborator
RAPORT
La lucrările de laborator Nr. 1-7
Disciplina: TWCC
Chişinău 2015
Lucrarea de laborator nr. 1-2
De elaborat un site alcătuit din cîteva pagini web utilizînd tehnologiile sus menţionate.
Tema se alege personal de către student.
Noţiuni
HTML este un format text proiectat pentru a putea fi citit și editat de oameni utilizând
un editor de text simplu. Totuși scrierea și modificarea paginilor în acest fel solicită
cunoștințe solide de HTML și este consumatoare de timp. Editoarele grafice (de tip
WYSIWYG) cum ar fi Macromedia Dreamweaver, Adobe GoLive sau Microsoft FrontPage
permit ca paginile web sa fie tratate asemănător cu documetele Word, dar cu observația că
aceste programe generează un cod HTML care este de multe ori de proastă calitate.
HTML se poate genera direct utilizând tehnologii de codare din partea serverului cum
ar fi PHP, JSP sau ASP. Multe aplicații ca sistemele de gestionare a conținutului, wiki-uri și
forumuri web generează pagini HTML.
1
HTML este de asemenea utilizat în e-mail. Majoritatea aplicațiilor de e-mail folosesc
un editor HTML încorporat pentru compunerea e-mail-urilor și un motor de prezentare a e-
mail-urilor de acest tip. Folosirea e-mail-urilor HTML este un subiect controversat și multe
liste de mail le blochează intenționat.
Home
About
Games
Services
Contact
Codul HTML
Pentru a crea site-ul, deschidem editorul Notepadd++ și creăm un nou fișier. Salvăm
fișierul nou creat, dîndui numele home.html. Extensia HTML va indica faptul că acest fișier
este o pagină Web. După salvarea fișierului introducem următorul cod.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title of the document</title>
</head>
<body>
Content of the document......
</body>
</html>
Tot codul ce va alcătui pagina Web va fi plasat între etichetele <html> </html>.
Acetea au rolul de a înștința browser-ul de faptul că acest fișier este un fișier HTML. În
interiorul etichetelor <html> </html> plasăm o altă grupă de etichete, <head></head> și
2
<body></body>. Elementul <head> reprezintă un container ce va conține titlul
ducumentului, scripturi, styles, meta informație și altele. Elementul <body> reprezintă un
container ce va conține text, hyperlink-uri, imagini, tabele, liste etc.
<!DOCTYPE html>
<head>
<title>Small Games</title>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>
<body>
<div id="page">
<div id="header">
<div class="title">Small Games</div>
</div>
<div id="bar">
<div class="menuLink"><a href="home.html">Home</a></div>
<div class="menuLink"><a href="about.html">About</a></div>
<div class="menuLink"><a href="game.html">Games</a></div>
<div class="menuLink"><a href="services.html">Services</a></div>
<div class="menuLink"><a href="contact.html">Contact</a></div>
</div>
<div id="pageContent">
<div class="articleTitle">Wellcome To Our Site</div>
<div class="articleContent">
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Integer mi. Vivamus sit amet neque vitae sapien bibendum sodales. Curabitur
elementum. Duis imperdiet. Donec eleifend porttitor sapien. Praesent leo.
Quisque auctor velit sed tellus. Suspendisse potenti. Aenean laoreet
imperdiet nunc. Donec commodo suscipit dolor. Aenean nibh. Sed id odio.
Aliquam lobortis risus ut felis. Sed vehicula pellentesque quam.</p><br />
<p>Vestibulum augue quam, interdum id, congue semper, convallis
non, velit. Quisque augue tortor, tristique ac, scelerisque eget, aliquam
id, sem. Aenean lorem. Fusce velit nibh, dapibus quis, laoreet nec, porta
a, dui. Nullam ac urna. Proin eget elit. Nunc scelerisque venenatis urna.
3
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Class aptent
taciti sociosqu ad litora torquent per conubia nostra, per inceptos
himenaeos. Fusce congue, turpis ut commodo mattis, pede erat fringilla
tellus, pulvinar suscipit odio lorem sed pede.</p>
</div>
</div>
<div id="footer"></div>
</div>
</body>
</html>
4
Figura 2 – Pagina About
5
Figura 5 – Pagina Contacts
Codul CSS
CSS (Cascading Style Sheets) este un standard pentru formatarea elementelor unui
document HTML. Stilurile se pot atașa elementelor HTML prin intermediul unor fișiere
externe sau în cadrul documentului, prin elementul <style> și/sau atributul style. CSS se
poate utiliza și pentru formatarea elementelor XHTML, XML și SVGL.
Pentru a formata pagina Web creăm un nou fișier în Notepad++, cu numele style.css.
html, body
{
text-align: center;
}
p
{
text-align: left;
}
body
{
margin: 0;
padding: 0;
text-align: justify;
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
font-size: 13px;
color: #F1F5F8;
background-color:#473423;
}
a
{
text-decoration:none;
color:#8FB359;
}
6
{
margin: 0 auto 0 auto;
//text-align:left;
}
#page
{
margin: 0 auto 0 auto;
height: 100%;
position: relative;
overflow: hidden;
background-color:#f5faed;
width: 900px;
margin-bottom: 100px;
box-shadow: 3px 0px 50px #000;
}
.title
{
position:relative;
top:22px;
text-align:center;
font-family:Georgia, "Times New Roman", Times, serif;
font-size:32px;
font-weight:bold;
color:#192B33;
}
#header
{
position:relative;
width: 900px;
height:99px;
background-color:#f68c06;
}
#bar
{
position:relative;;
width: 900px;
height:57px;
background-color:#8FB359;
}
.menuLink
{
height:37px;
width: 180px;
text-align:center;
float:left;
font-family:Geneva, Arial, Helvetica, sans-serif;
font-size:14px;
font-weight:bold;
color:#EAD5A8;
padding-top:18px;
}
.menuLink a
{
color:#192B33;
}
7
.menuLink a:hover
{
color:#777;
}
.menuLink:hover
{
background-color:#0892d0;
}
#pageContent
{
width: 680px;
padding-bottom:20px;
}
.articleTitle
{
text-align:center;
padding-top:50px;
padding-bottom:10px;
color: #8FB359;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:22px;
font-weight:bold;
}
.articleContent
{
width:auto;
position:relative;
padding-left:25px;
color:#000000;
text-align:center;
font-family:Arial, Helvetica, sans-serif;
line-height:27px;
}
.articleContent .grid_3
{
width: 300px;
text-align: center;
}
.grid_3
{
display: inline;
float: left;
margin-left: 10px;
margin-right: 10px;
margin-bottom: 10px;
}
.bio
{
padding-left: 10px;
}
.text1
{
8
font-size: 19px;
line-height: 19px;
}
.box
{
background-color: #d2d2d2;
border: 3px solid #eeeeee;
padding: 23px 0 24px;
border-top-width: 4px;
border-bottom-width: 4px;
}
.box img
{
border: 3px solid #eeeeee;
border-radius: 500px;
margin-bottom: 19px;
}
.box .text1
{
margin-bottom: 1px;
}
.service_list {
margin: 0 0 20px 0;
padding: 0px;
list-style: decimal;
}
.service_list li {
margin: 0px;
padding: 5px 0;
text-align: left;
}
#footer
{
display: table;
width: 900px;
height:60px;
padding-top:36px;
background-color:#8FB359;
}
p.bio
{
text-align: justify;
}
Pentru codul din fișierul style.css să fie executat trebuie să includem următoarea linie
de cod în fișierul home.html.
9
Laboratorul nr. 3
<script language="Javascript">
function validateForm()
{
var xmlHttpReq = false;
var self = this;
// Mozilla/Safari
if (window.XMLHttpRequest) {
self.xmlHttpReq = new XMLHttpRequest();
}
// IE
else if (window.ActiveXObject) {
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
var t_email=document.forms["myForm"]["email"].value;
var t_name=document.forms["myForm"]["name"].value;
self.xmlHttpReq.open('GET', 'validator.php?email=' +
escape(t_email) +'&name=' + escape(t_name), true);
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-
www-form-urlencoded');
self.xmlHttpReq.onreadystatechange = function() {
if (self.xmlHttpReq.readyState == 4) {
var res = self.xmlHttpReq.responseText;
if (res == 'valid') {
document.forms["myForm"].submit();
} else {
alert('Form is not invalid');
}
}
}
self.xmlHttpReq.send();
}
</script>
10
Laboratorul nr. 4-5
validator.php
<?php
$email = $_GET['email'];
$name = $_GET['name'];
db.php
<?php
$db_host = "localhost";
$db_name = "twcc";
$db_username = "root";
$db_password = "adminpass";
// Create connection
$conn = mysqli_connect($db_host, $db_username, $db_password, $db_name);
11
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
12
Laboratorul nr. 6
<script language="Javascript">
function validateForm()
{
var xmlHttpReq = false;
var self = this;
// Mozilla/Safari
if (window.XMLHttpRequest) {
self.xmlHttpReq = new XMLHttpRequest();
}
// IE
else if (window.ActiveXObject) {
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
var t_email=document.forms["myForm"]["email"].value;
var t_name=document.forms["myForm"]["name"].value;
self.xmlHttpReq.open('GET', 'validator.php?email=' +
escape(t_email) +'&name=' + escape(t_name), true);
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-
www-form-urlencoded');
self.xmlHttpReq.onreadystatechange = function() {
if (self.xmlHttpReq.readyState == 4) {
var res = self.xmlHttpReq.responseText;
if (res == 'valid') {
document.forms["myForm"].submit();
} else {
alert('Form is not invalid');
}
}
}
self.xmlHttpReq.send();
}
</script>
13
Laboratorul nr. 7
Utilizarea .htacces.
Fisierele .htaccess pot fi unelte foarte puternice. Mai jos gasesti cateva lucruri care pot
fi obtinute utilizand .htaccess:
Unele dintre aceste caracteristici (protectie parola, pagini erori personalizabile, tipuri
MIME) au fost automatizate prin intermediul panoului de control al contului de gazduire si
14
pot fi utilizate fara a crea manual fisiere .htaccess. Oricum, celelalte trebuiesc implementate
manual de catre detinatorul contului.
200 OK
201 Created
202 Accepted
204 No Content
Erori de server
15
504 Gateway Timeout
De exemplu:
Creem aceste fisiere unde punem codul ce se va executa si afisa cand se intalneste
eroarea respectiva.
Exemplu:
AuthUserFile fisier_cu_parole/.htpasswd
AuthName “Mesaj_autentificare”
AuthType Basic
require user user_name
16
user_name este user-ul care dorim ca browserul sa-l accepte ca un nume valid pentru
parola. Daca sunt mai multi useri ce pot sa acceseze directorul ultima linie se va scrie astfel:
require valid-user
17