Site de administrare anunturi 6
In cele ce urmeaza va fi explicat mecanismul de functionare a unei aplicatii in care se pot adauga si vizualiza anunturi. Aceasta aplicatie are la baza formularele, intrucat necesita transmiterea unor date de la utilizatori catre serverul web. Pentru mai multe informatii despre formulare, accesati lectia Formulare in PHP.
Pentru a face codul usor de inteles, sunt incluse doar operatiile de baza, fara validari sau prelucrari aditionale.
In acest exemplu, vom folosi si formularul de login descris in lectia Exemple de formulare. Astfel, in urma unei autentificari reusite, utilizatorul va fi redirectionat catre pagina principala de anunturi, numita anunturi.php. Aceasta cuprinde 2 sectiuni: "anunturi existente" si "adaugare anunt".
Sectiunea "Anunturi existente"
In acesta aplicatie simpla, citirea anunturilor existente se face prin intermediul unei functii (citireDate) definite intr-un fisier separat. Pentru acest exemplu, am ales ca datele sa fie stocate temporar in memorie, urmand ca mai tarziu sa vedem cum le putem stoca in fisiere sau intr-o baza de date. Pentru scopul acestui exemplu nu este relevant modul de salvare/citire a datelor, deci nu se va insista asupra acestui aspect.
Nu exista anunturi';
} else {
# cum exista deja anunturi, le afisez
echo '';
# folosesc o structura repetitiva care parcurge vectorul si afiseaza datele lui
foreach($anunturi as $anunt) {
echo '';
echo '', $anunt[ 'nume' ], ' ';
echo '', $anunt[ 'telefon' ], ' ';
echo '', $anunt[ 'email' ], ' ';
echo '', $anunt[ 'oras' ], ' ';
echo '', $anunt[ 'continut' ], ' ';
echo ' ';
}
# afisez cate anunturi exista
echo '
', 'Anunturi salvate: ', count( $anunturi ), '
';
}
?>
Asa cum se poate observa, se verifica mai intai daca exista date ( count( $anunturi ) == 0 verifica numarul de elemente din vector). Daca nu exista anunturi, se afiseaza un mesaj specific.
In caz contrar, atunci cand exista anunturi salvate, acestea sunt afisate cu ajutorul structurii repetitive foreach. Pentru detalii consultati sectiunea de structuri repetitive a site-ului.
In cadrul structurii, este afisat cate un rand de tabel ce contine datele anuntului. La final, sub tabel este afisat un mesaj cu numarul total de inregistrari gasite.
Sectiunea "Adaugare anunt"
Sub lista de anunturi, pe aceeasi pagina este afisat si formularul pentru adaugarea de noi inregistrari. Acesta este de tip POST, care trimite datele catre fisierul anunturi-post.php. Prin apasarea pe butonul "Salveaza anuntul", datele introduse vor fi transmise catre fisierul PHP de pe server si vor fi disponibile prin intermediul variabilei $_POST.
Fisierul anunturi-post.php
Fisierul PHP care proceseaza datele este inclus mai jos. Ca si in exemplul de login, se fac verificari pentru a fi siguri ca a fost facut un submit. Daca datele sunt disponibile in variabila $_POST atunci acestea sunt salvate cu ajutorul functiei scriereDate. Functia de salvare a datelor va returna intotdeauna true (in aceasta mica aplicatie), deci va fi mereu afisat mesajul de succes.
Date salvate cu succes!';
else $mesaj = 'Datele nu au putut fi salvate';
} else {
# nu a fost facut post, poate cineva a intrat direct din browser pe aceasta pagina?
$mesaj = 'Nimic de afisat aici.';
}
?>
Testarea aplicatiei
Aplicatia este disponibila pentru testare aici (click pentru a accesa). Datele de login sunt aceleasi (admin / ghiceste-Ma).
Puteti descarca fisierele PHP si sa le incercati pe serverul vostru local.
- index.php (pagina de login)
- anunturi.php (fisierul principal)
- anunturi-post.php (fisierul de prelucrare a datelor din form)
- acces-date.php (fisierul de citire/salvare a datelor)
Descarcati o arhiva cu toate fisierele
Atentie! codul foloseste un mod simplist de verificare a autentificarii, util doar pentru intelegerea codului. Nu folositi acest tip de verificare intr-o aplicatie reala. Un exemplu de autentificare corect gasiti pe pagina Formular de login in PHP. Integrarea acestuia cu aplicatia de anunturi ramane ca exercitiu pentru cititori.
Ai explicat foarte bine tot, la cat mai multe tutoriale de genul asta :)
unde se salveaza mesajele , adica doresc sa le mai curat din cand in cand dar nu gasesc unde le pot sterge pe cele adaugate?
unde se salveaza mesajele , adica doresc sa le mai curat din cand in cand dar nu gasesc unde le pot sterge pe cele adaugate?
In exemplul de pe site anunturile se salveaza pe sesiune si se pastreaza atata timp cat tii browserul deschis. Cand inchizi browserul se pierd. Mai multe detalii despre sesiuni aici: http://php.punctsivirgula.ro/sesiuni/
In exemplul de pe site vezi fisierul anunturi-acces-date-sesiune.php. Daca ai nevoie de un alt mecanism de salvare (in fisiere sau baze de date) este suficient sa modifici acel fisier.
Bravo...!Super acest tutorial,e explicat forte bine..tinetio tot asa...
Buna, cum as putea sa modific codul acesta si sa fac ca datele sa intre intr-o baza de date? multumesc!
Adauga un comentariu la aceasta sectiune.