Tutorial PHP: Trimiterea unui email cu PHP – Functia PHP

Cu ajutorul PHP putem foarte usor sa trimitem un e-mail la o anumita adresa din pagina web. Acest lucru este util de exemplu in cazul unui formular de contact. Se poate desigur sa lasam pe pagina adresa de e-mail insa nu este indicat deoarece poate ajunge in mainile oricui intra pe pagina si mai important poate fi citita de programe bot care trimit spam-uri. Cel mai indicat este un formular de contact, securizat din punct de vedere abuziv si completarea corecta a datelor.

Ca sa trimiteti un e-mail de pe localhost aveti nevoie de un server de e-mail, daca insa folositi un serviciu de webhost, acestea au deja un server de e-mail instalat (majoritatea)

Trimiterea mesajelor

SMTP (Simple Mail Transfer Protocol) reprezinta protocolul standard pentru transferul mesajelor prin intermediul internetului la o adresa de e-mail.
Pentru a putea trimite un e-mail se foloseste functia mail() ce are sintaxa:

mail(‘catre’, ‘subiect’, ‘mesaj’)

Unde “catre” reprezinta adresa de email unde va fi trimis mesajul, “subiect” reprezinta subiectul mesajului iar “mesaj” reprezinta mesajul trimis.
Functia mai poate sa contina si un al patrulea atribut optional “from” care specifica locatia de unde a fost trimis mesajul. Daca acest atribut nu este specificat, serverul va trimite mesajul in functie de cum este configurat.
Aceste atribute pot fi desigur preluate dintr-un formular cu $_POST.
Functia mail() returneaza TRUE daca mesajul a fost trimis, altfel returneaza FALSE.

Exemplu

<?php
// Verifica daca au fost trimise datele de la formular
if (isset($_POST['email']) && isset($_POST['mesaj'])) {
$to = 'adresa@yahoo.com';
$subiect = 'Mesaj de pe site';
$mesaj = $_POST['mesaj'];
$from = 'From: '. $_POST['email'];
//Trimite mesajul prin e-mail
if (mail($to, $subiect, $mesaj, $from)) {
echo 'Mesajul a fost trimis.';
}
else {
echo 'Mesajul nu a fost trimis.';
}
}
?> 

In primul rand se verifica cu functia isset() daca au fost trimise din formular e-mail-ul persoanei si mesajul, dupa care se declara fiecare variabila si se trimite mesajul prin e-mail.
Observati faptul ca variabila $from contine sirul “From: ” inainte de adresa preluata din formular. Acest lucru este obligatoriu.

Trimiterea tagurilor html prin e-mail

Implicit, functia mail() trimite doar mesaje text simple fara taguri html. pentru a putea trimite si taguri html prin e-mail este necesara adaugarea anumitor header-e in variabila $from. Aceste hearde-e spun receptorului ca datele trimise contin si taguri html. pentru acest lucru se folosesc urmatoarele doua sintaxe:

MIME-Version: 1.0
Content-type: text/html; charset=iso-8859-1

Exemplu

<?php
$to = 'adresa@mail.com';
$from = 'adresa@mail.com';
$subiect = 'Un subiect oarecare';
$mesaj = '<h3>Un mesaj</h3>
<div style="color:#10f0ff;border-style:solid;border-width:1px;width:10em;">
Un mesaj oarecareeee</div>';
$ln = "rn";	// Pentru adaugare linie noua
$headers = "From: ".$from.$ln;
$headers .= "MIME-Version: 1.0".$ln;
$headers .= "Content-type: text/html; charset=iso-8859-1".$ln;
if (mail($to, $subiect, $mesaj, $headers)) {
echo 'Mesaj trimis';
}
else {
echo 'Mesaj netrimis';
}
?>

Trimiterea atasamentelor prin e-mail

Trimiterea fisierelor prin e-mail este o munca mai greoaie. Pentru a intelege mai bine studiati urmatorul exemplu.

<?php
$attach = array();	// variabila ce va contine datele pt atasamente
$to = 'nicu_bogd@yahoo.com';
$from = 'nicu_bogd@yahoo.com';
$subiect = 'Un subiect oarecare';
$mesaj = '<h3"Un mesaj</h3"
<div style="color:#10f0ff;border-style:solid;border-width:1px;width:10em;">
Un mesaj oarecareeee</div"';
// se adauga datele pt fisierele ce vor fi atasate
$attach[] = array('imagine.jpg', 'fisier1', 'image/jpeg');
// definesc header-ele pt e-mail
$headers = "From: ".$from;
$rand_hash = md5(time());
$mime_boundary = "==Multipart_Boundary_x".$rand_hash."x";
$headers .= "nMIME-Version: 1.0n".
"Content-Type: multipart/mixed;n".
' boundary="'.$mime_boundary.'"';
$msg .= "Un multi-part mesaj in MIME format.nn".
'--'.$mime_boundary."n".
"Content-Type:text/html; charset="iso-8859-1"n".
"Content-Transfer-Encoding: 7bitnn".$mesaj."nn";
//se seteaza includerea fisierelor (daca exista fisiere adaugate)
if (count($attach)>=1) {
// Parcurge matricea cu datele fisierelor
for($i=0; $i<count($attach); $i++) {
// deschide fisierul si preia datele din el
if ($file = fopen($attach[$i][0],'rb')) {
$data = fread($file, filesize($attach[$i][0]));
fclose($file);
}
// codeaza datele preluate cu MIME base64 si le separa in parti mai mici
$data = chunk_split(base64_encode($data));
// adauga datele fisierului in mesajul mail-ului
$msg .= '--'.$mime_boundary."n".
'Content-Type: '.$attach[$i][2].";n".
' name="'.$attach[$i][1].""n".
"Content-Transfer-Encoding: base64nn".$data ."nn".
'--'.$mime_boundary."n";
}
}
// trimite e-mail-ul
if (mail($to, $subiect, $msg, $headers)) {
echo 'Mesaj trimis';
}
else {
echo 'Mesaj netrimis';
}
?>

Scriptul trimite si taguri html in corpul mesajului. Pentru a trimite mai multe fisiere odata trebuie sa adaugati mai multe linii de genul acesta:

$attach[] = array(‘imagine.jpg’, ‘fisier1’, ‘image/jpeg’);

In care argumentul al treilea difera de tipul fisierului.
De exemplu pentru fisiere cu extensia “jpg” argumentul al treilea va fi “image/jpeg”, pentru fisiere cu extensia “txt” argumentul va fi “text/plain”.

Articolul a fost preluat de pe tutorialeweb.net

Seminarul Red Hat din data de 28.03.2013

Conform Gartner, tehnologiile open-source devin tot mai importante, iar utilizatorii continuă să migreze spre Linux. Mulţi optează pentru soluţiile Red Hat întrucât versiunile curente stabilesc noi referinţe în ceea ce priveşte siguranţa, deschiderea şi gama de funcţii.

Mai mult decât atât, Red Hat are cea mai mare experienţă din industrie în ceea ce priveşte utilizarea soluţiilor open-source în aplicaţii enterprise critice. Concepte bine gândite fac migrarea mai uşoară, chiar şi atunci când este vorba de provocări precum migrarea de la salesforce.com.

Red Hat şi Romsym Data vă invită să aflaţi mai multe în cadrul seminarului gratuit ce va avea loc în data de 28.03.2013, la Crowne Plaza Hotel Bucureşti.

Pentru a va inscrie la seminar intrati pe adresa:

http://www.romsym.ro/blog.php/Seminar-solutii-Red-Hat/1/38/

Tutorial PHP: Fisierul .htaccess

Fisierul .htaccess este foarte folosit atunci cand vine vorba de securitate. Din acest fisier putem bloca accesul la anumite fisiere, foldere, redirect spre o alta pagina, protejare pagini cu parola etc.
“.htaccess” nu este o extensie ci este chiar numele fisierului. Pentru a-l crea deschideti notepad si salvati fisierul cu numele “.htaccess” iar la “Save as type” alegeti optiunea “All Files”.

Comenzile scrise in acest fisier actioneaza asupra directorului in care este inclus, asupra fisierelor din acesta si asupra sub-directoarelor. Daca insa intr-un subdirector mai adaugam un fisier .htaccess, atunci acest fisier va actiona si asupra sub-directorului.

In functie de ce doriti sa scrieti in fisier, acesta poate avea o marime destul de mare, iar pentru a nu va rataci in comenzi puteti folosi caracterul diez (#) pentru a adauga comentarii. Caracterul trebuie adaugat inaintea fiecarei linii din comentariu.

Blocarea afisarii listei de fisiere dintr-un director

Presupunem ca avem directorul “users” cu diferite fisiere in el, insa nu contine fisierul index.php. In momentul cand accesam “nume-site.ro/users/” va aparea o lista ce contine toate fisierele din acest folder indiferent de extensia lor.
Pentru a preveni afisarea acestei liste, adaugam in fisierul .htaccess urmatoarea linie:

Options -Indexes

In momentul cand accesam folderul respectiv va aparea avertismentul “You don’t have permission to access /users/ on this server.”.

Permiterea / interzicerea accesului anumitor adrese IP

Din fisierul .htaccess putem permite sau interzice anumitor persoane cu un anumit IP sa acceseze intregul site sau anumite directoare ale acestuia.
Pentru a permite accesul unui anumit IP folosim:

allow from xxx.xxx.xxx.xxx

Unde “xxx.xxx.xxx.xxx” este IP-ul persoanei respective.
Pentru a bloca accesul folosim linia:

deny from xxx.xxx.xxx.xxx

Daca dorim blocarea accesului tuturor persoanelor folosim comanda:

deny from all

Interzicerea accesarii unui fisier

Dupa cum stiti, din browser se poate accesa orice fisier de pe site-ul respectiv. Pentru a interzice acest lucru adaugam urmatoarele randuri in fisierul .htaccess:

<files fisier.txt>
order allow,deny
deny from all
</files>

Pentru o siguranta in plus putem adauga chiar fisierul .htaccess insa acesta este protejat automat si fara sa specificam acest lucru.

Fisiere index alternative

In momentul cand accesam o adresa de genul “nume-site.ro/users/” vom fi directionati catre fisierul cu numele index din acel folder. Putem specifica din .htaccess ca fisierul “index” sa fie altul utlizand expresia:

DirectoryIndex index.php fisier.html contact.php

In acest caz vom fi directionati catre fisierul “index.php”, daca acesta nu este gasit vom fi directionati catre fisierul “fisier.html”, daca nici acesta nu exista vom fi directionati catre “contact.php” si tot asa.

Pagini de erori personalizate

In momentul cand este detectata o eroare putem redirecta utilziatorul catre o anumita pagina personalizata in functie de eroarea returnata. Spre exemplu, daca este accesata o pagina insa aceasta nu exista, va fi returnata eroarea 404 (Not Found). Putem redirecta utilizatorul catre o pagina in care sa scrie “Pagina accesata nu exista”. Pentru acest lucru folosim comanda:

ErrorDocument numar_eroare  /cale_fisier/fisier_eroare.php

Erorile cele mai intalnite sunt:

Nr Eroare Descriere
400 Bad Request
401 Authorization Required
403 Forbidden
404 Not Found
500 Internal Server Error
502 Bad Gateway

Se poate adauga o pagina de eroare corespunzatoare fiecarei erori.

Protejarea unui director cu parola

Pentru a proteja un folder cu un nume si o parola vom folosi pe langa fisierul .htaccess fisierul .htpasswd care va contine numele si parola sub forma criptata. Pentru a proteja folderul adaugam in .htaccess urmatoarele linii:

AuthUserFile calea_catre_fisierul_cu_parole/.htpasswd
AuthName "Mesaj ce apare la logare"
AuthType Basic
require user user_name

Daca sunt mai multi utilizatori ce pot avea acces la folder folosim “require valid-user ” in loc de “require user user_name”.
Pentru serverul Apache instalat pe Windows crearea fisierului .htpasswd se face in modul urmator:

1. Pornim Comand prompt din Start -> Run -> cmd -> Enter.
2. Schimbam locatia cu comanda cd in folderul unde sa afla fisierul htpasswd:
cd C:wampApache2bin si apasam enter
3. Se tasteaza: htpasswd -c .htpasswd user_name
4. Se introduce parola
5. Se repeta parola.

In acest moment s-a creat fisierul .htpasswd in acelasi director cu fisierul executabil htpasswd.
Puteti muta oriunde doriti acest fisier isna sa specificati in .htaccess calea corecta catre acesta.
Din acest moment, cand vom accesa folderul sau orice fisier din folderul respectiv va aparea un formular de login in care introducem userul si parola. Logarea se face o singura data pentru un calculator pana la restartarea acestuia.
Pentru a adauga mai multi utilizatori folosim acelasi procedeu insa fara sa specificam parametrul -c in comanda.

Articol preluat de pe tutorialeweb.net. Articolul original il puteti gasi aici.

Tutorial PHP: Lucrul cu siruri

Lungimea unui sir
Pentru a afla lungimea unui sir utilizam functia strlen() dupa cum este prezentata in exemplul urmator:

<?php

$sir1 = “Primul sir din script”;

$sir2 = “Al doilea sir din script”;

$a = strlen($sir1); $b = strlen($sir2);

echo “Sirul <b>$sir1</b> are $a de caractere<br />”;

echo “Sirul <b>$sir2</b> are $b de caractere”;

?>

 

Aces cod va afisa

Sirul Primul sir din script are 21 de caractere

Sirul Al doilea sir din script are 24 de caractere

Cautare in siruri

In tabelul urmator sunt prezentate o serie de functii care cauta, modifica si extrag anumite parti din siruri

Functie Descriere
strstr(s1,s2) cauta in sirul s1 pana gaseste sirul s2 si returneaza restul sirului s1 incepand de la sirul s2 (inclusiv acesta)
strpos(s1,s2) cauta sirul s2 in sirul s1 si returneaza positia de unde incepe s2
substr(sir, start, lungime) returneaza portiunea din sir care incepe de la pozitia start si are lungimea lungime
strtoupper(sir) transforma caracterele sirului in majuscule
strtolower(sir) transforma caracterele sirului in litere mici
ucwords(sir) transforma prima litera din toate cuvintele in majuscule
ucfirst(sir) transforma prima litera din sir in majuscula

Exemplu

<?php$sir1 = “acesta este primul sir”;

echo strstr($sir1, ‘este’).'<br />’;

echo strpos($sir1, ‘p’).'<br />’;

echo substr($sir1, 3, 7).'<br />’;

echo strtoupper($sir1).'<br />’;

echo strtolower($sir1).'<br />’;

echo ucwords($sir1).'<br />’;

echo ucfirst($sir1); ?>

Acest cod va afisa

este primul sir
12
sta est
ACESTA ESTE PRIMUL SIR
acesta este primul sir
Acesta Este Primul Sir
Acesta este primul sir

Inlocuirea unui subsir
Inlocuirea unui subsir este un lucru important in diferite scripturi php. Pentru a face acest lucru vom folosi functiile str_replace() si substr_replace().
str_replace(subsir, inlocuire, sir) – inlocuieste “subsir” cu “inlocuire” in sirul “sir”. Aceasta functie tine cont de majuscule. Daca dorim sa nu se tina cont de acestea folosim in acelasi mod functia str_ireplace()
substr_replace(sir, inlocuire, start, lungime) – returneaza sirul “sir” dupa ce inlocuieste cu “inlocuire” subsirul ce incepe de la pozitia “start” si are lungimea “lungime”.

Exemplu

<?php$sir = “Imi place sa invat PHP”;

echo str_ireplace(‘php’, ‘JavaScript’, $sir).'<br />’;

echo substr_replace($sir, ‘Nu imi’, 0, 3);

?>

Acest cod va afisa

Imi place sa invat JavaScript
Nu imi place sa invat PHP
Stergerea spatiilor de la extremitatile sirurilor

Aceasta operatie de stergere a spatiilor de la extremitatile sirurilor este foarte importanta spre exemplu in lucrul cu MySql. Se foloseste de exemplu atunci cand avem un formular de inregistrare si login, pentru a sterge spatiile puse intentionat de utilizator la inceputul sau/si la sfarsitul datelor introduse in campurile din formularul respectiv.
In tabelul urmator sunt prezentate functiile necesare stergerii spatiilor de la extremitatile sirurilor.

Functie Descriere
trim(sir) returneaza valoare lui “sir” dupa ce sterge spatiile de la extremitatile sale
rtrim(sir) returneaza valoare lui “sir” dupa ce sterge spatiile din partea dreapta
ltrim(sir) returneaza valoare lui “sir” dupa ce sterge spatiile din partea stanga

Articol preluat de pe tutorialeweb.net. Articolul original il puteti gasi aici.

Tutorial: PHPLD – PHP Link Directory – Un script pentru crearea de directoare web

PHPLD, prescurtarea pentru PHP Link Directory, este un script cu ajutorul caruia puteti crea un director web.

PHPLD este un script bine dezvoltat, cu un design modern si are disponibile foarte multe widget-uri care va pot ajuta in personalizarea website-ului. Posibilitatea de a face nenumarate modificari te lasa sa personalizezi site-ul exact asa cum iti doresti, in plus zona de admin este foarte usor de folosit si o modalitate de navigare simpla.

O functie speciala existenta in scriptul PHPLD, este numita”Spider” si va da posibilitatea sa importati site-uri din alte directoare precum dmoz sau google.

Pentru detalii puteti accesa “PHPLD – Site oficial“. Scriptul este cu bani spre nemultumirea unora, insa daca doresti ceva de calitate, eu unul chiar recomand. Puteti testa acest script aici.

Cum sa muti un director web cu PHPLD ?

Probabil ca sunt mai multe persoane care au trecut prin acest moment, sa fie nevoie sa muti un director web facut cu PHPLD si sa nu poti sau sa intampini o gramada de erori.

Procedeul este foarte simplu, insa daca nu esti invatat, exista posibilitatea sa fie foarte complicat.

Mutati fisierele din FTP pe noul host, dupa care in folderul includes trebuie sa modificati fisierul config.php ! Acum, tot ce mai aveti de facut este sa modificati urmatoarele linii cu datele de identificare pentru noul host:

define(‘DB_HOST’, ‘serverul bazei de date’);
define(‘DB_NAME’, ‘numele bazei de date’);
define(‘DB_USER’, ‘userul bazei de date’);
define(‘DB_PASSWORD’, ‘parola bazei de date’);

Folosind functiile PHPMyAdmin, puteti exporta baza de date, dupa care sa folositi functia import in noua baza de date a noului host si aici se termina tot procedeul de mutare a site-ului pe un alt host.

Tutorial: PHP Mysql Insert Into | Cum introducem date in MySQL

INSERT INTO este folosit pentru a introduce inregistrari noi la un tabel dintr-o baza de date.

INSERT INTO se poate scrie in doua forme:

INSERT INTO tabel VALUES (valoare1, valoare2, valoare3,…)

In aceasta forma, valorile vor fi introduse una dupa alta, in functie de coloanele pe care le aveti in tabelul din baza de date.

INSERT INTO tabel  (coloana1, coloana2, coloana3,…) VALUES  (valoare1, valoare2, valoare3,…)

Aceasta forma va permite sa selectati coloanele in care doriti sa adaugati anumite valori.

Pentru a face un script PHP sa execute o comanda MySQL trebuie sa folositi mysql_query(), functie care permite trimiterea de interogari sau a unei comenzi catre o conexiune MySQL.

Scriptul urmator este unscurt exemplu in care dupa conectarea la baza de date si verificarea erorilor in cazul in care aceasta nu este posibila, vom introduce in tabelul utilizatori, numele, prenumele si varsta.

 <?php
$connect = mysql_connect(“localhost”,”root”,”password”);
if (!$conect)
{
die(‘Conexiunea la baza de date nu este posibila: ‘ . mysql_error());
}mysql_select_db(“nume_baza_date”, $connect);mysql_query(“INSERT INTO utilizatori (Nume, Prenume, Varsta)
VALUES (‘Mihai’, ‘Andrei’,44)”);

mysql_query(“INSERT INTO utilizatori (Nume, Prenume, Varsta)
VALUES (‘Silviu’, ‘Ion’,21)”);

mysql_close($connect);
?>

In acest scurt exemplu ati putut observa folosirea functiei mysql_query() si intrebuintarea acesteia, dar si modul in care se foloseste INSERT INTO.

In contnuare avem un scurt exemplu in care vom putea vedea cum adaugam in baza de date informatii luate dintr-un formular.

 <html>
<body><form action=”db_insert.php” method=”post”>
Nume: <input type=”text” name=”nume”>
Prenume: <input type=”text” name=”prenume”>
Varsta: <input type=”text” name=”varsta”>
<input type=”submit”>
</form></body>
</html>

Mai sus avem formularul cu cele trei campuri, nume, prenume si varsta. Dupa apasarea butonului “submit”, scriptul PHP va fi rulat in fisierul “db_insert.php”. Scriptul PHP din “db_insert.php” se va conecta la baza de date si va putea folosi informatiile din formular cu variabilele $_POST.

Mai jos puteti vedea si scriptul PHP:

 <?php
$connect = mysql_connect(“localhost”,”root”,”password”);
if (!$connect)
{
die(‘Conexiunea la baza de date nu este posibila: ‘ . mysql_error());
}mysql_select_db(“nume_baza_date”, $connect);$comanda_sql=”INSERT INTO Persons (Nume, Prenume, Varsta) VALUES (‘$_POST[nume]’,’$_POST[prenume]’,’$_POST[varsta]’)”;

if (!mysql_query($comanda_sql,$connect))
{
die(‘Eroare: ‘ . mysql_error());
}
echo “Datele trimise de formular au fost inregistrate.”;

mysql_close($connect);
?>

Notepad++ un soft special pentru webmasteri

Notepad++ este un soft special pentru webmasterii experimentati, care isi scriu singuri codul. Este scris in C++ si foloseste Win32 API si STL, care asigura o viteza de executie mare, desi dimensiunea programului este mica.

Notepad++ este un soft foarte usor de folosit. Creatorii programului il considera un soft care ajuta la pastrarea lumii verzi si naturale, spunand ca softul este unul care nu necesita foarte multe resurse, ceea ce duce la reducerea emisiilor de dioxid de carbon ale procesorului.

Este un program gratuit, editor de cod sursa si inlocuitor pentru Notepad. Utilizarea sa este reglementata de licenta GPL.

Elementele ajutatoare pentru programatori sunt de foarta mare calitate si pot usura munca unui programator foarte mult.

Va recomand acest editor de texte, el fiind de foarte mare calitate. Se poate gasi gratuit pentru download chiar pe site-ul oficial, notepad-plus-plus.org

Tutorial: Conectarea la baza de date in PHP

Pentru a ne putea conecta la baza de date in PHP, avem nevoie pentru inceput sa cunoastem cateva functii.

mysql_error() – Afiseaza erorile survenite in timpul conectarii la baza de date in cazul in care exista astfel de erori.

mysql_connect() – Aceasta functie este depreciata in PHP 5.5.0 si nu va mai putea fi folosita in viitor, insa pana atunci, aceasta functie deschide sau reutilizeaza o conexiune la un server MySQL. Alternativa pentru PHP 5.5.0 pentru mysql_connect() este mysqli_connect() . Functia are 3

mysql_select_db() – Aceasta functie, stabileste baza de date la care ne vom conecta.

mysql_close() – Este functia care inchide baza de date.

Folosind functia include() putem folosi aceeasi secventa in mai multe scripturi in care vom lucra.

<?php
$host=”localhost”;
$user=”user”;
$pass=”parola”;
$database=”baza”;

$conexiune=mysql_connect($host,$user,$pass)
or die (“Nu ne putem conecta la baza de date”);

$bazadate=mysql_select_db($database)
or die (“Aceasta baza de date nu exista”);
?>

 

Nu uitati, aceasta procedura trebuie repetata pentru fiecare pagina nou creata, tocmai de aceea va sugerez folosirea functiei include() , pentru a nu repeta tot acest script in fiecare pagina.

Eroare PHP: Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in…

 “Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in”… este o eroare php foarte des intalnita atunci cand lucram cu bazele de date.

In cazul in care primim aceasta eroare, inseamna ca mysql_fetch_assoc nu gaseste valori pentru crearea matricei.

Spre exemplu, avem urmatorul cod:

<?php

$var3=3;

$q=’SELECT x FROM nume_tabela where y=“$var2″’;
$res= mysql_query($q);

while ($var2 = mysql_fetch_assoc($res)){
echo $var3;
}

?>

In cazul in care vom primi eroarea Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in… , este din cauza faptului ca valoarea care i se va atribui lui $q este gresita, varianta corecta fiind urmatoarea:

$q=’SELECT x FROM nume_tabela where y=“ ‘.$var2.’ ″’;

Tutorial: Creare script curs valutar in PHP

In acest tutorial va voi prezenta un cod PHP care va permite afisarea pe site-ul dumneavoastra a cursului valutar preluat de la BNR.

Acest cod PHP va permite afisarea cursului oficial BNR pentru EURO si DOLAR.

 <?
class cursBnrXML
{
var $xmlDocument = “”;

var $date = “”;

var $currency = array();
function cursBnrXML($url)
{
$this->xmlDocument = file_get_contents($url);
$this->parseXMLDocument();
}
function parseXMLDocument()
{
$xml = new SimpleXMLElement($this->xmlDocument);

$this->date=$xml->Header->PublishingDate;

foreach($xml->Body->Cube->Rate as $line)
{
$this->currency[]=array(“name”=>$line[“currency”], “value”=>$line, “multiplier”=>$line[“multiplier”]);
}
}
function getCurs($currency)
{
foreach($this->currency as $line)
{
if($line[“name”]==$currency)
{
return $line[“value”];
}
}

return “Incorrect currency!”;
}
}
$curs=new cursBnrXML(“http://www.bnr.ro/nbrfxrates.xml”);
echo ‘<div style=”font-size:10px”>tutorialeit.net</div>’;
echo “<table style=’font-size:12px; border:#CCCCCC 1px solid;’><tr><td align=’center’>Curs Valutar<br />”.$curs->date.”</td></tr>
<tr><td><table style=’font-size:12px; border:#CCCCCC 1px solid;’><tr><td>USD:</td><td>”.$curs->getCurs(‘USD’).”</td></tr></table></td></tr>
<tr><td><table style=’font-size:12px; border:#CCCCCC 1px solid;’><tr><td>EUR:</td><td>”.$curs->getCurs(‘EUR’).”</td></tr></table></td></tr>

</table>”;
?>

Sper sa va foloseasca acest script php pentru afisarea cursului BNR.