E-learn.ro
Panou utilizatori
Utilizator Parola
Creeaza cont nou    Recupereaza parola
Login
Newsletter
Introdu adresa ta de email
Inscrie-te
Inchide panoul de utilizatori
Add to Google

Tutoriale PHP

Descarca toolbar

Toolbar E-learn.ro Facebook Twitter

WEB DEVELOPMENT  /  PHP  /  Introducere in PHP (24)

XV. Realizarea unui modul de sondaje (Partea I)

07.02.2009
XV. Realizarea unui modul de sondaje (Partea I)

In cursul acestei serii, ti-am oferit un tur al PHP, invatandu-te tot ce trebuie sa stii pentru a te lansa in utilizarea acestui limbaj de programare extrem de puternic. In cele doua capitole finale ale acestei serii de tutoriale, vei putea citi despre implementarea a doua aplicatii PHP din lumea reala. Nu numai ca vei fi introdus in dezvoltarea propriu-zisa a aplicatiilor PHP, dar vei avea ocazia sa testezi toata teoria cu care ai fost indoctrinat in ultimile saptamani.

Total vizualizari: 4950 4950 afisari   |   Comentarii  3   |   Rating   |   (4 voturi)   |   Timp necesar: 25 min 25 min   |   Nivel de cunostiinte necesar: Mediu  Mediu

Sursa:  www.devzone.zend.com  
Autor:  Vikram Vaswani
Adauga la tutoriale favorit Adauga la tutoriale favorite
Pagina:
« 1 2
comenteaza printeaza

Fii atent mai ales la interogarea SQL care va fi executata: ea utilizeaza cuvintele cheie ORDER BY, DESC si LIMIT pentru a obtine ultima inregistrare din tabelul cu intrebari. Cand interogarea intoarce un raspuns, ID-ul inregistrarii este utilizat pentru a obtine lista de raspunsuri din tabelul answers. Apoi, raspunsurile sunt afisate ca butoane radio intr-o bucla while(). ID-ul fiecarui raspuns este memorat in atributul value din butonul radio corespunzator; la trimiterea formularului, acest identificator este folosit pentru a incrementa numarul de voturi pentru raspunsul selectat.

Observa ca daca baza de date este goala, apare un mesaj de eroare. In acest exemplu, am introdus deja o intrebare in baza de date deci nu va aparea; oricum, este un bun exercitiu de programare pentru a te asigura ca toate situatiile sunt prevazute, chiar si cele care nu apar foarte des.

Fisierul config.php inclus la inceputul scriptului contine parametrii de acces pentru baza de date MySQL. Aceasta informatie a fost plasata intr-un fisier separat pentru a fi usor de modificat in cazul mutarii aplicatiei pe un nou server. Codul este:

<?php
 
// parametrii de acces la baza de date
$host = 'localhost';
$user = 'guest';
$pass = 'guessme';
$db = 'db3';
 
?>

Formularul va arata astfel:

Bun, acum ai afisat sondajul. Pe masura ce utilizatorii voteaza sunt generate sute de clickuri. Ce faci cu ele?

Raspunsul se afla in scriptul care este activat cand un utilizator voteaza si trimite formularul descris mai devreme. Acest script, user_submit.php, se ocupa de actualizarea numarului de voturi pentru perechea intrebare/raspuns. Iata codul:

<html>
<head><basefont face = 'Arial'></head>
<body>
 
<?php
 
if (isset($_POST['submit'])) {
 
    if (!isset($_POST['aid'])) {
        die('EROARE: Va rugam selectati una dintre variantele disponibile');
    }
 
    // include fisierul configuratie
    include('config.php');
    
   // deschide conexiunea la baza de date
   $connection = mysql_connect($host, $user, $pass) or die ('EROARE: Nu s-a putut realiza conexiunea!');
   
    // selecteaza baza de date
    mysql_select_db($db) or die('EROARE: Nu s-a putut selecta baza de date!');
    
    // actualizeaza contorul de voturi
    $query = "UPDATE answers SET acount = acount + 1 WHERE aid = ".$_POST['aid']." AND qid = ".$_POST['qid'];
    $result = mysql_query($query) or die("ERROR: $query. ".mysql_error());
 
    // inchide conexiunea
    mysql_close($connection);
 
    // tipareste mesajul de succes
    echo 'Votul tau a fost inregistrat cu succes!';
}
else {
    die('EROARE: Informatia nu a fost introdusa corect');
}
 
?>
 
</body>
</html>

Inainte de toate, codul precedent verifica variabila $_POST['aid'] pentru a vedea daca a fost selectat un raspuns. Presupunand ca ID-ul este prezent, scriptul actualizeaza baza de date pentru a incrementa numarul de voturi si afiseaza un mesaj potrivit.

Acum, priveste lista initiala a cerintelor. Da, poti taia punctul #1. In curand vei putea citi despre implementarea cerintelor ramase in urmatoarea sectiune a acestui tutorial.

Pagina:
« 1 2
comenteaza printeaza
Alte tutoriale PHP:
Noteaza acest tutorial
Rating tutorial
 
(4 voturi)
Pentru a nota acest tutorial, trebuie sa fii logat!
COMENTARII (3) spune-ti parerea
Pustiu , Marti, 02 Iunie 2009
#3

ibogdan: poti scrie pe adresa de mail contact@e-learn.ro. :)

Raporteaza acest comentariu ca injurios!
ibogdan , Luni, 09 Februarie 2009
#2

Am implementat acest tutorial si pare a functiona corect. Multumesc. Unde as putea sa scriu pentru eventuale completari/imbunatatiri.

Raporteaza acest comentariu ca injurios!
kremlin , Sambata, 07 Februarie 2009
#1

Chiar daca e un exemplu foarte usor, se poate extrapola intr-un mod interesant cu AJAX.

Raporteaza acest comentariu ca injurios!
Posteaza un comentariu
Pentru a posta un comentariu, trebuie sa fii logat!
0 TOP UTILIZATORI* 0 0
Tutoriale scrise de claibornelara
claibornelara Rang utilizator claibornelara - Incepator
5030
Tutoriale scrise de mcuemica
mcuemica Rang utilizator mcuemica - Incepator
4985
Tutoriale scrise de ellarichards
ellarichards Rang utilizator ellarichards - Incepator
4830
Tutoriale scrise de emonclercheap
emonclercheap Rang utilizator emonclercheap - Incepator
4805
Tutoriale scrise de beacherrosa
beacherrosa Rang utilizator beacherrosa - Incepator
4605
* Acest top reprezinta punctajele acumulate in ultimele 30 de zile.
StyleSheet Illustrator Lightroom Swift 3D Javascript Verilog Ruby on Rails Outlook RoR MySQL Word XML Photoshop Bridge CSS Dreamweaver XHTML Powerpoint Gimp PSD Fotografie PHP Fireworks SEO Vista HTML Sony Vegas AJAX JSON Action Script Java Excel Flash SWF Python COREL DRAW
Promovare:
Daca faci parte din comunitatea E-learn.ro si doresti promovarea acesteia, poti accesa pagina de promovare.
Arhiva newsletter:
Daca ai ratat un numar mai vechi, sau vrei sa revezi care au fost noutatile E-learn.ro la un moment dat, poti accesa arhiva de newslettere.
  Copyright © 2008-2013 E-LEARN.ro. Toate drepturile rezervate. Termeni si conditii.
Conceput si realizat de Neokinetics Software