MOTOR!
(de cautare)
     
Acasa  |   Adauga site  |   Clasamente  |   Contact   
CSS     CGI     JavaScript     PHP     SSI
Resurse PHP sau CGI?
de Christopher S.L. Heng, thesitewizard.com
Informatii IT
Jocuri online
Forum de discutii
Programare Web
ABC - calculatoare
ABC - site Web
E-marketing
Horoscop
Noutati muzicale
Topul romanilor
Bara de navigare

Nume de domenii
com/net/org - 50 LEI/an
Web hosting 12,5 LEI/luna
conturi Reseller
www.domenii-web.com
Rapidisti.info
Voteaza stirile tale!
Copos, jucatori si suporteri!
Citeste, adauga, comenteaza!
Rapidisti.info
Steaua.info
Voteaza stirile tale!
Becali, jucatori si suporteri!
Citeste, adauga, comenteaza!
Steaua.info
Nume de domenii
com/net/org - 50 LEI/an
Web hosting 12,5 LEI/luna
conturi Reseller
www.domenii-web.com
 

PHP pare a fi un limbaj de programare in voga acum - cu un numar din ce in ce mai mare de furnizori de spatiu Internet care ofera si suport pentru el. Pentru cei care doar au auzit de el si nu sunt foarte siguri ce este, acest articol compara PHP cu scrierea script-urilor in Perl.

PHP este un limbaj de scripting care este rulat pe server. Poate fi inclus in servere web ca Apache si poate fi folosit pentru a genera pagini in mod dinamic. Probabil ca il vei folosi in cazuri in care ai fi folosit un script CGI. De exemplu, formularul pentru culegerea datelor (feedback form) din cadrul site-ului thesitewizard.com foloseste un script PHP pentru a genera formularul si pentru a imi trimite datele prin e-mail.

Limbajul

Daca ai mai programat inainte in C, C++, Perl, Java sau Javascript probabil ca va fi usor pentru tine. De fapt, probabil ca poti scrie imediat cateva script-uri.

PHP foloseste variabile fara tip ca si Perl, precedate de semnul "$" si pastreaza orice fel de date doresti. De exemplu, $orice poate fi o variabila care sa contina un sir, un numar, sau orice alt tip de variabila. Daca $orice contine un numar, poti sa ii incrementezi valoarea folosind

$orice++;

sau

$orice += 1;

sau

$orice = $orice + 1;

Iti amintesti de Perl, C, C++, Java, JavaScript? Intelegi ce am vrut sa spun?

Facilitati incluse

Spre deosebire de Perl, care este un limbaj de scripting de uz general, ce poate fi folosit pentru o varietate de scopuri (si nu doar pentru generarea de pagini web), PHP a fost construit pentru a fi folosit exclusiv in paginile web. Ca un rezultat, are multe facilitati incluse in el, pe care ar trebui sa le scrii chiar tu sau sa folosesti module gata scrise, daca ai folosi Perl.

De exemplu, vrei sa-ti trimiti un e-mail cu datele dintr-un formular de pe pagina ta web? In Perl, ai avea un cod asemanator cu urmatorul:

open ( MAIL,"|/usr/sbin/sendmail -t");
print MAIL "To: mie\@nume.ro\n" ;
print MAIL "From: vizitator\@numele_lui.ro\n" ;
print MAIL "Subject: Comentarii din pagina Web\n\n" ;
print MAIL $mesaj ;
close ( MAIL ) ; 
In PHP, acelasi program l-ai scrie in felul urmator:

mail ( "mie@nume.ro", "Comentarii din pagina Web",
    $mesaj, "From: vizitator@numele_lui.ro" ); 

Interesant, nu? Acelasi lucru este valabil si pentru alte facilitati, ca trimiterea sau primirea unui document cu ajutorul HTTP sau FTP, etc. Deoarece PHP a fost construit special pentru Web, facilitatile de care au de obicei nevoie programatorii web sunt deja incluse in el.

Alt avantaj consta in manipularea datelor din formulare. Sa consideram un formular simplu:

<input type=text name="data_nasterii">

Poti accesa imediat datele din acest camp folosind variabila $data_nasterii. Nu este nevoie sa analizezi datele trimise de formular. Toate campurile din formular sunt convertite automat in variabile pe care le poti accesa.

Sa accesezi o baza de date este la fel de usor. Exista functii pentru accesarea MySQL, MSQL, Dbase, Oracle, InterBase si lista continua. Doresti sa codezi MIME mesajul tau? Exista o functie care o va face pentru tine.

Si mai sunt multe altele. Evident, nu pot trece prin toata lista, ar trebui o carte pentru a fi completa. Tot ce ti-am aratat pana acum a fost doar pentru a iti face pofta :-)

Generarea paginilor Web

Implicit, tot ceea ce scrii intr-un fisier PHP este trimis cuvant cu cuvant browser-ului. Un script simplu poate arata ca in randurile urmatoare:

<html><head>
<title>Primul meu script PHP</title>
</head>
<body>
<h1>Primul meu script PHP</h1>
Bine ai venit, vizitatorule cu adresa IP
<?echo $REMOTE_ADDR?>.
Sper ca iti place prima mea pagina PHP.
</body>
</html>

Remarci ca arata exact ca o pagina HTML, exceptand marcajele <? si ?>, intre care se afla un script PHP. In acest caz, tot ceea ce dorim este ca script-ul sa tipareasca adresa IP a vizitatorului. Pentru aceasta vom folosi functia "echo". Variabila de mediu a serverului REMOTE_ADDR este generata automat (ca toate celelalte variabile de mediu).

Exista mai multe moduri pentru a include script-urile PHP intr-o pagina Web, sau chiar mai multe moduri de a desena pagina insasi. Dar ai inteles ideea principala. Asa cum am mai spus, PHP a fost construit special pentru paginile Web, si acest lucru face ca scrierea de script-uri sa fie o sarcina placuta.

Corectarea erorilor

Daca vei corecta erorile online, vei constata ca PHP straluceste si la acest capitol.

De obicei, cand apare o eroare intr-un script CGI Perl, vei vedea in browser un mesaj criptic de genul "500 Internal Server Error".

In cazul script-urilor PHP, obtii mesaje de eroare care iti arata linia in care a aparut eroarea. Totusi eroarea este si aici un mesaj criptic de genul "parse error", asa ca va trebui si aici sa incerci sa-ti inchipui care este problema. Dar cel putin stii unde este eroarea. Comparati aceasta cu script-urile CGI Perl, unde o eroare "Internal Server Error" poate apare dintr-un numar mare de cauze, de la o eroare de sintaxa la un simplu caz in care ai uitat sa dai drepturi de citire asupra unui fisier, sau l-ai transferat in mod binar si nu in mod text.

In cazul corectarii offline a erorilor, apar alte considerente. Unii programatori gasesc ca interpretorul Perl genereaza mesaje mai folositoare spre deosebire de cel PHP, care tinde sa eticheteze multe lucruri drept "parse error". Aceasta se poate schimba, pe masura ce noi interpretoare PHP sunt create.

Care este atunci problema?

In timp ce este evident ca imi place sa folosesc PHP drept limbajul meu pentru crearea de script-uri, nu pretind ca este solutia universala de care au nevoie toate site-urile.

Ai putea avea in vedere cel putin urmatoarele lucruri, inainte de a face trecerea la PHP (si lista nu este exhaustiva):

  1. Nu toti furnizorii de spatiu Web ofera suport pentru PHP. In timp ce este adevarat ca multi nu ofera nici acces CGI, numarul celor ce nu furnizeaza PHP este chiar mai mic.

    Intre furnizorii de spatiu gratuit, cei care furnizeaza acces PHP se pot numara folosind degetele de la o singura mana. Si chiar daca vei gasi o asemenea gazda, te vei intreba daca chiar vrei sa depinzi de PHP. Poate va veni o zi in care va trebui sa iti muti site-ul, si vei fi presat de timp sa gasesti alta gazda care ofera PHP in mod gratuit.

    Totusi, daca vei folosi un furnizor platit pentru gazduirea paginilor, probabil ca vei avea mult mai putine probleme. Aparent, majoritatea comerciantilor de acest tip furnizeaza acces PHP, iar cei care inca nu o fac, planuiesc sa ofere si suport PHP in viitorul apropiat.

  2. Ca toate limbajele de scripting (inclusiv Perl), sa corectezi erorile poate fi extrem de greu daca nu iti instalezi local programul necesar. Altfel, vei petrece multe ore online, testand si corectand scirpt-ul tau. Instructiuni despre cum poti instala PHP in Windows poti gasi in articolul meu "How to install PHP on Windows" la adresa:

    http://www.thesitewizard.com/archive/installphp.shtml

    Intamplator, poti rula un server Apache pe calculatorul personal. Poti citi totul despre personalizarea propriului Apache, daca ai un calculator Windows, din alt articol al meu intitulat "How to Install Your Own Apache Server on Windows 95/98/NT/2000" la adresa:

    http://www.thesitewizard.com/archive/apache.shtml

    Desigur, daca ai un calculator Linux, totul este deja instalat. Doar cauta prin CD-urile de instalare si instaleaza serverul si modulele PHP, daca nu sunt instalate deja. (Cele mai noi distributii Linux preinstaleaza serverul Apache, inclusiv modulele PHP).

  3. Nu este un limbaj cu scopuri generale. In timp ce are incluse multe facilitati pentru crearea paginilor Web, PHP nu este Perl (sau C sau C++ sau Java). Personal, gasesc PHP mai mult decat potrivit pentru nevoile paginilor mele Web.

De unde il poti obtine?

Unii dintre furnizorii de spatiu Web listati in cadrul paginilor "Budget Web Hosting" si "Best Web Hosting" suporta PHP. Le poti gasi la adresele urmatoare:

http://thefreecountry.com/ecentricity/bestwebhosts.shtml
http://thefreecountry.com/ecentricity/budgethosting.shtml

Probabil ca sunt si cativa furnizori listati in pagina "Free Web Hosting" care suporta PHP. Daca nu vrei sa platesti pentru gazduire, ii poti verifica la adresa:

http://thefreecountry.com/ecentricity/hosts.html

Documentatia PHP, constand din manualul de referinta pentru toate functiile PHP, poate fi obtinut gratuit de pe site-ul oficial PHP, la adresa:

http://www.php.net

Sursele si compilarile binare ale PHP le poti gasi la acelasi site.

Daca doresti sa inveti PHP, poate vei dori sa citesti si urmatoarele articole din cadrul thesitewizard.com:

PHP Tutorial 1: Writing Your First PHP Script: Feedback Form
http://www.thesitewizard.com/archive/feedbackphp.shtml

PHP Tutorial 2: Improving the Form to Mail Script
http://www.thesitewizard.com/archive/phptutorial2.shtml

La momentul in care vei citi acest articol, probabil vor fi si altele din seria PHP. Poti verifica indexul principal al articolelor chiar acum la adresa:

http://www.thesitewizard.com

Programare fericita!

Toate cele bune,
Christopher S.L. Heng
thesitewizard.com
2 iulie 2000

Copyright 2000 Christopher S L Heng. Toate drepturile rezervate
Viziteaza http://www.thesitewizard.com/ pentru mai multe sfaturi gratuite si articole despre web design, promovare, profit si programare; sau aboneaza-te la publicatia noastra GRATUITA trimitand un email la subscribe@thesitewizard.com.

Informatii IT
Digg! StumbleUpon ANRCTI a aplicat inca opt amenzi pentru efectuarea de comunicari comerciale nesolicitate prin intermediul postei electronice si o amenda pentru nefurnizare de informatii In urma finalizarii unora dintre investigatiile demarate ca urmare a plangerilor privind transmiterea de comunicari comerciale nesolicitate prin intermediul postei electronice, Autoritatea Nationala pentru Reglementare in Comunicatii si Tehnologia Informatiei (ANRCTI) a constatat, in opt dintre cazuri, savarsirea contraventiei constand in transmiterea de comunicari comerciale nesolicitate, asa cum este definita de Legea nr. 365/2002 privind comertul electronic, republicata, si a aplicat sapte amenzi in cuantum de 1.000 lei fiecare si una in valoare de 2.000 lei.
Digg! StumbleUpon MaxCAD participa la Conferinta Nationala AICPS MaxCAD participa cu stand in cadrul Conferintei Nationale a Asociatiei Inginerilor Constructori Proiectanti de Structuri (AICPS) care se desfasoara astazi, 30 mai 2008, la Muzeul National de Arta. Tema celei de-a XVIII-a editii a conferintei este „Cladiri inalte amplasate in zone seismice”, evenimentul reunind peste 300 de participanti.
Digg! StumbleUpon Yahoo! m-a angajat sa fac pentru cinci milioane de oameni ceea ce faceam pentru cateva mii In video interviul acordat in exclusivitate pentru RadioLynx.ro, Bobby Voicu dezvaluie, in premiera, cateva dintre motivele pentru care Yahoo.com isi propune o mai mare apropiere de comunitatea internautilor romani.
© 2000 - 2008 Pro FinancePolitica de folosire a datelor culese in cadrul site-ului
Inregistreaza nume de domenii platind cu PB$! Castiga PB$ participand la discutii!
Membru al retelei Pro Finance
Avatars.bz   Cautare.net   CursValutar.org   Dinamovisti.info   Domenii-Web.com   Forex-Exchange.org   Forum domenii   Ghioc.RO   HotelMoscowRussia.com   Jocuri.bz   MasiniRulate.com   PHP5forum.com   ProBazar.com   Publicitate.biz   Rapidisti.info   Resurse.com   ROK.RO   Scoala-De-Soferi.com   Steaua.info   UsedPhonecard.com