Curs Php-mysql

1. Proiectarea unui formular

Principalele sarcini în proiectarea unui formular HTML le constituie alegerea controalelor HTML care vor fi incluse în formular, selectarea amplasamentului controalelor si alegerea numelui acestora.
Studiati lectia HTML despre Formulare, aceasta explica modul de realizare a fiecarui obiect dintr-un formular HTML si va va ajuta sa invatati rolul acestor elemente HTMLL.

2. Crearea unui formular

Un formular HTML trebuie sa contina un buton de expediere, submit, pe care utilizatorul executa clic pentru a trimite datele din formular la scriptul PHP.
Formularele se creaza folosind etichete specifice incadrate in tag-ul <form> </form> ca in exemplul de mai jos:

<form action="script.php" method="post">
Nume:<input type="text" name="nume" />
<br /><input type="submit" name="submit" value="Trmite formular" />
</form>

In browser se va vedea:

Nume:

Fiecare element al formularului trebuie introdus intre etichetele <form> si </form>.
Atributul "action" indica fisierul cu scriptul care va primi datele de la formular si reprezinta una dintre cele mai importante precizari.
Fiecare element, camp dintr-un formular trebuie sa aibe un nume distinct, dat prin atributul "name"; acest nume este folosit de scriptul PHP la care sunt trimise datele, astfel, scriptul PHP recunoaste datele din campul respectiv folosind numele acestuia.

3. Utilizarea metodelor GET si POST

Atributul "method" poate avea doua valori : GET si POST. Diferenta intre metodele GET si POST consta in modul in care informatia din formular este transmisa scriptului care o prelucreaza.
- Metoda GET trimite toate informatiile adunate ca parte a adresei URL; aceste informatii sunt vizibile pentru utilizator.
- Metoda POST transmite informatia intr-o maniera invizibila pentru utilizator si poate transmite o cantitate mai mare de date decat GET.
Folosind exemplul de formular de mai sus, metoda GET va transmite serverului o adresa URL ca cea de mai jos:

iar in cazul folosirii metodei POST, in URL va aparea doar: Metoda GET permite transmiterea unui volum limitat de informatii catre server; de asemenea nu este recomandata folosirea acestei metode in cazul in care dorim sa transmitem date personale(de exemplu parolele introduse intr-un formular pot fi vizualizate de oricine in browserul de Web).

4. Receptionarea datelor de la un formular HTML

In general datele din formular sunt preluate de scriptul PHP prin urmatoarea formula:

- unde "nume este valoarea atributului name al elementului din formularul HTML.

Sa luam un exemplu practic de formular HTML care trimite date (prin method="post") la un script PHP unde acestea vor putea fi vizualizate.
Salvam scriptul de mai jos intr-un fisier pe care-l numim "test-form.php"

<?php
$nume = $_POST['nume'];
$email = $_POST['email'];
$parola = $_POST['parola'];

echo "Nume = $nume";
echo "<br />E-mail = $email";
echo "<br />Parola = $parola";
?>
Scriem urmatorul cod HTML intr-un alt fisier "form.html", pe care-l salvam in acelasi director cu scriptul PHP de mai sus.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ro" lang="ro">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title> Test-Form </title>
</head>
<body>
<form action="test-form.php" method="POST">
Nume:<input type="text" name="nume" />
<br />Email:<input type="text" name="email" />
<br />Parola:<input type="password" name="parola" />
<br /><input type="submit" name="submit" value="Trmite datele" />
</form>
</body>
</html>
In browser va aparea:

Nume:
Email:
Parola:
Completam datele din formular, de exemplu: la Nume : Popescu, la Email : plomar@uv.ro si Parola : parola_mea
Dupa ce am competat datele, apasam clic pe butonul "Trimite datele", acestea vor fi trimise la scriptul PHP "test-form.php", care le va prelucra si va afisa urmatorul rezultat:
Nume = Popescu
E-mail = plomar@uv.ro
Parola = parola_mea

Sa intelegem exemplu de mai sus.
Folosind formularul de mai sus, atributul NAME din fiecare eticheta INPUT atribuie fiecarei casete cu text un nume, astfel scriptul PHP va putea recunoaste datele scrise in casete. In scriptul "test-form".php" vom accesa variabilele:

Deoarece cunoastem metoda prin care trimitem datele catre scriptul PHP, "POST", am folosit variabila PHP globala _POST pentru a prelua datele din formular: Constructia echo trimite datele de iesire care vor fi afisate de browser

Variabile PHP globale: _GET si _POST reprezinta de fapt variabile de tip array, fiecare element se poate accesa prin cheia sa; in cazul nostru cheia fiecarui element este data de atributul : NAME al casetelor din formular

5. Trimiterea de date unui script prin adresa URL

In afara de a expedia unui script datele printr-un formular, puteti expedia date cu ajutorul adresei URL a paginii. Pentru aceasta, atasati la sfarsitul adresei URL un semn al întrebarii (?) si apoi includeti o serie de perechi "nume-valoare" (separate prin &), ca in exemplu urmator:

Exemplul include numai doua perechi "nume-valoare"; cu toate acestea, puteti include oricâte asemenea perechi doriti (separate prin caracterul &), in functie de limita impusa de browser.
Pentru a prelua si folosi datele dintr-o astfel de adresa URL, folositi in interiorul scriptului PHP expresia "$_GET['nume'], ca in exemplu urmator" Unde "nume1" si "nume2" sunt numele variabilelor din adresa URL, iar "$var1" si "$var2" sunt variabilele care vor fi folosite in scriptul PHP (din "fisier.php") si a caror valori vor fi "valoare1" respectiv "valoare2" continute in adresa URL.

Daca doriti sa trimiteti unui script, prin intermediul adresei sale URL, caractere speciale precum un semn al intrebarii, un semn egal sau un ampersand, se poate crea confuzie.
Pentru a functiona corect, un sir trebuie sa fie codificat URL. Pentru a codifica URL un sir, caracterele speciale se înlocuiesc cu echivalentele lor hexazecimale, precedate de un simbol procent (%). Pentru alte detalii, consultati lectia despre Utilizarea caracterelor speciale, subtitlul 4 ( Conversia adreselor URL).
De exemplu, forma codificata URL a sirului "la multi ani!" este %22la multi ani%21%22.
Adresa URL rezultanta se numeste "sir de interogare" si nu poate contine spatii. Daca doriti sa trimiteti un spatiu ca parte a unui sir de interogare, trimiteti în locul spatiului un semn plus (+). Iata un exemplu de sir de interogare care codifica numele autorului acestui site:

Unele dintre cele mai comune caractere speciale si echivalentele lor codificate URL sunt prezentate în tabelul de mai jos:
Caracter special Echivalentul codificat URL
. *%2e
> %3e
^ %5e
~ %7e
+ %2b
, %2c
/ %2f
: %3a
; %3b
  %3c
= %3d
> %3e
[ %5b
\ %5c
] %5d
_ %5f
{ %7b
| %7c
} %7dc
tab %09
spatiu %20
! %21
%22
# %23
$ %24
% %25
& %26
` %27
( %28
) %29
@ %40
` %60

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce atribut poate fi utilizat pentru a adauga stiluri CSS direct in tag-ul HTML?
type style class
<div style="width: 80%; border: 3px solid #888888;">Continut</div>
Care din metodele proprietatii CSS transform distorsioneaza elementul HTML la un anumit unghi (inclusiv continutul lui)?
translate() scale() skew()
#un_id {
  transform: skew(20deg, 25deg);
  -ms-transform: skew(20deg, 25deg);   /* IE 9 */
  -webkit-transform: skew(20deg, 25deg);   /* Safari and Chrome */
}
Clic pe functia care poate converti un obiect Date in Sir.
indexOf() toString() getDate()
var rightnow = new Date();
alert( rightnow.toString() );
Care functie aplica o alta functie la elementele unui array?
array_merge() array_search() array_map()
$arr = arra("abc", "<p>xyz</p>", "<em>PHP</em>");
// aplica functia strip_tags() ca sa stearga tag-urile HTML din fiecare element din %arr
$arr = array_map("strip_tags", $arr);
}
Cum se spune "sambata" in limba engleza?
Sunday Saturday Monday
On Saturday I visit my grandparents.
- Sambata imi vizitez bunicii.
Cum se spune "sambata" in limba spaniola?
domingo lunes sábado
Sábado visito mis abuelos.
- Sambata imi vizitez bunicii.
Utilizare formulare HTML cu PHP, $_GET si $_POST

Last accessed pages

  1. Este imposibil să vezi două lumi (42)
  2. Puterea de decizie îmi aparţine (47)
  3. Coduri pt culori (73163)
  4. Boala, nume pt. pacat. Vindecarea: nume pt. Dumnezeu (187)
  5. Subjunctiv vs indicativ-prezent (300)

Popular pages this month

  1. Curs HTML gratuit Tutoriale HTML5 (503)
  2. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (445)
  3. Coduri pt culori (283)
  4. Formatare text in pagina html (164)
  5. Creare si editare pagini HTML (160)