Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

Php


Qdidactic » stiinta & tehnica » informatica » php
PHP - ce este PHP?, sintaxa de baza PHP, lucrul cu formulare in PHP



PHP - ce este PHP?, sintaxa de baza PHP, lucrul cu formulare in PHP


Introducere


Ce este PHP?


  • PHP este o abreviere a “Hypertext Preprocessor”
  • PHP este un limbaj server-side, ca si ASP
  • Secventele de cod PHP se executa pe server
  • PHP se poate folosi in asociatie cu diverse baze de date (MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, etc.)
  • PHP este un soft open source (OSS)
  • PHP se poate downloada si utiliza gratuit



Ce este un fisier PHP?


  • Fisierele PHP contin text, taguri HTML si script-uri
  • Fisierele PHP  sunt returnate de catre un browser csub forma de cod HTML 
  • Fisierele PHP pot avea extensiile '.php', '.php3', or '.phtml'



CE este MySQL?


  • MySQL este un mic server de baze de date
  • MySQL este ideal pentru aplicatii mici si medii
  • MySQL sustine limbaj standard SQL
  • MySQL este gratuit
  • PHP + MySQL
  • PHP combinat cu MySQL formeaza un “cross-platform” (se poate dezvolta in Windows si utiliza pe o platforma Unix)



De ce PHP?


  • PHP ruleaza pe diverse platforme (Windows, Linux, Unix, etc.)
  • PHP este compatibil cu aproape toate serverele din ziua de astazi (Apache, IIS, etc.)
  • PHP este gratuit FREE si se poate lua de pe site-ul oficial: www.php.net
  • PHP este usor de folosit  de utilizator si eficient pe partea de server

De unde se incepe?

Pentru a folosi scripturi PHP care acceseaza baze de date MySql avem nevoie de 3 lucruri:




  • un server web (Apache)
  • PHP
  • Server MySQL (acesta este serverul efectiv de baze de date. In locul lui se poate folosi Oracle sau orice alt server ce poate fi interogat cu PHP)


Dupa cum s-a spus mai sus toate aceste componente (Apache/PHP/MySql) sunt gratuite.  In general exista suport gratuit pentru aplicatiile PHP/MySql (vezi lx.ro) sau daca nu, hostingul porneste de la taxe modice de 2-3 dolari / luna. Administrarea se face prin CPanel si cu PHPMyAdmin se poate lucra direct pe baza de date.


Sintaxa de baza PHP


Un fisier PHP contine in mod normal taguri HTML cat si niste cod PHP.

Hello World


Iata un exemplu care genereaza catre browser “Hello World”:

<html>

<body>

<?php

echo 'Hello World';

?>

</body>

</html>

Un bloc de cod PHP este incadrat intre <?php si ?> si poate fi plasat oriunde in document.



Exista doua feluri de a crea output cu PHP: echo si print.


Variabile in PHP


Toate variabilele in PHP incep cu $. Variabilele pot fi siruri, numere sau array-uri.
Mai jos, codul PHP asigneaza sirul 'Hello World' unei variabile $txt:


<html>

<body>

<?php

$txt='Hello World';

echo $txt;

?>

</body>

</html>


Operatorul de concatenare


Pentru a concatena una sau mai multe stringuri se foloseste operatorul punct (.):


<html>

<body>

<?php

$txt1='Hello World';

$txt2='1234';

echo $txt1 . ' ' . $txt2 ;

?>

</body>

</html>

Outputul va fi: 'Hello World 1234'.

Comentarii in PHP


In PHP, se foloseste // pentru comentariu de un singur rand sau pentru un comentariu mai lung /* si */.


<html>

<body>

<?php

//This is a comment


This is

a comment

block


?>

</body>

</html>


Utilizare IF

if (condition)


else



Cateva artificii: stringul “yes” este evaluat ca true, “no” este evaluat ca false.

La fel, “on” si “off”.


Utilizare SWITCH


Pentru selectarea unui bloc dintre mai multe pentru a fi executat, se foloseste Switch.


switch (expression)


Utilizare FOR

The for statement is used when you know how many times you want to execute a statement or a list of statements.


for (initialization; condition; increment)



Exemplu

Afisare de 5 ori: 'Hello World!'



<html>

<body>

<?php

for ($i=1; $i<=5; $i++)


?>

</body>

</html>


Utilizare FOREACH

Parcurge in bucla un array returnat de un parametru. La fiecare parcurgere, valoarea elementului curent este asignata variabilei $value iar pointerul din array este incrementat – astfel la urmatoarea parcurgere, se va retine urmatorul element.


foreach (array as value)



Sau


foreach (array as key => value)


Exemplu

<html>

<body>

<?php

$arr=array('one', 'two', 'three');

foreach ($arr as $value)


?>

</body>

</html>


Lucrul cu formulare in PHP


Cand se trateaza formulare HTML si cod PHP este important de retinut ca orice element al formularului din pagina HTML va fi disponibil in codul PHP.


Exemplu:


<html>

<body>

<form action='welcome.php' method='POST'>

Enter your name: <input type='text' name='name' />

Enter your age: <input type='text' name='age' />

<input type='submit' />

</form>

</body>

</html>



Avem doua campuri de imput si un buton de Submit. Cand utilizatorul introduce date si apasa butonul este apelat fisierul 'welcome.php', care arata astfel:


<html>

<body>

Welcome <?php echo $_POST['name']; ?>. <br />

You are <?php echo $_POST['age']; ?> years old!

</body>

</html>


Variabilele $_POST['name'] si $_POST['age'] sunt setate automat de PHP.


Partea de administrare

Administrarea se face prin CPanel si cu PHPMyAdmin se poate lucra direct pe baza de date.

E indicat sa folosim PHPMyAdmin pentru ca este o interfata excelenta pentru administrarea bazei de date MySql.



Testare PHP/MySql.

Editati un fisier cu continutul urmator:

<?php
echo “Hello, World!”;

?>

salvati fisierul ca hello.php, uploadati-l pe server in directorul propriu si rulati-l. Functioneaza?



Conectarea la baza de date:

<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';

$conn = mysql_connect($dbhost, $dbuser, $dbpass)

or die ('Error connecting to mysql');

$dbname = 'companie444AA';

mysql_select_db($dbname);
?>


(!!!) Segmentul de mai sus poate fi salvat ca opendb.php si il vom include de fiecare data cand avem nevoie de o interogare.

Cand terminati interogarea unei baze de date folositi  mysql_close();


Crearea unei baze de date:


Se foloseste functia mysql_query()


<?php


include 'opendb.php';

$query  = 'CREATE DATABASE companie445AA';
$result = mysql_query($query);

include 'closedb.php';

?>

Crearea de tabele

Pentru a crea tabele in baza de date se face un lucru similar cu crearea bazei de date. Se scrie o interogare SQL care creaza tabela si apoi se executa cu functia mysql_query().

<?php


include 'config.php';
include 'opendb.php';

$query  = 'CREATE DATABASE companie445AA ';
$result = mysql_query($query);

mysql_select_db(' companie445AA ') or die('Cannot select database');

$query = 'CREATE TABLE contact( '.
         'cid INT NOT NULL AUTO_INCREMENT, '.
         'cname VARCHAR(20) NOT NULL, '.
         'cemail VARCHAR(50) NOT NULL, '.
         'csubject VARCHAR(30) NOT NULL, '.
         'cmessage TEXT NOT NULL, '.
         'PRIMARY KEY(cid))';

$result = mysql_query($query);

include 'closedb.php';

?>



Stergerea unei baze de date

Ca si la crearea unei baze de date, este de preferat sa se foloseasca mysql_query() si sa se execute SQL DROP DATABASE in loc de mysql_drop_db().



<?php


include 'config.php';
include 'opendb.php';

// secventa de cod

$query  = 'DROP DATABASE companie445AA ';
$result = mysql_query($query);

// alta secventa de cod

include 'closedb.php';

?>


Introducerea de date in tabelele unei baze de date

Acest lucru se face folosind mysql_query() pentru a executa query-ul INSERT. Atentie, nu trebuie ca query-ul folosit sa se incheie cu “;”. Iata un exemplu de inserare a unei noi inregistrari intr-un tabel in baza de date. Se considera ca avem tabela user in care vom adauga datele unui nou utilizator in baza de date companie445AA :

(exemplul presupune crearea in prealabil in baza de date companie445AA a tabelei user cu 2 campuri username si password)

<?php

include 'library/config.php';
include 'library/opendb.php';

mysql_select_db($companie445AA);
$query = 'INSERT INTO user ( user, password) VALUES ( ' user1_companie445AA ', PASSWORD('mypass'))';

mysql_query($query) or die('Error, insert query failed');
include 'closedb.php';


?>


In exemplul de mai sus mysql_query() a fost urmat de die(). Daca query-ul nu reuseste, atunci va fi emis un mesaj de eroare si executia scriptului este terminata. Se poate folosi die() cu orice functie care ar putea sa nu se execute cum trebuie. Se poate astfel asigura faptul ca programul nu isi continua executia dupa inregistrarea erorii.


Obtinerea de date dintr-o baza de date cu PHP si MySQL SELECT

PHP ofera o serie de functii care in combinatie cu sintaxa SQL duc la obtinerea unor date dintr-o baza de date.

Prima este mysql_fetch_object() care aduce ca rezultat un rand dintr-un tabel.

Iata un exemplu in care se arata cum se extrag date dintr-un tabel cu 3 coloane: nume, subiect si mesaj.



<?php

include 'config.php';
include 'opendb.php';

$query  = 'SELECT name, subject, message FROM contact';
$result = mysql_query($query);

while($row = mysql_fetch_object($result))


include 'closedb.php';


?>

Bucla while() returneaza date sub forma de randuri pana cand functia mysql_fetch_object() returneaza FALSE, adica nu mai exista date care sa fie returnate. Continutul randurilor este asignat variabilei $row iar valorile din row sunt afisate.


PHP mai ofera functiile mysql_fetch_array() si mysql_fetch_assoc() – care returneaza un rand ca pe un array asociativ:


<?php
include 'config.php';
include 'opendb.php';

$query  = 'SELECT name, subject, message FROM contact';
$result = mysql_query($query);

while($row = mysql_fetch_assoc($result))
<br>' .
         'Subject : <br>' .
         'Message : <br><br>';
}

include 'closedb.php';

?>

Se poate folosi constanta MYSQL_NUM, ca un al doilea argument in mysql_fetch_array().


<?php

include 'config.php';
include 'opendb.php';

$query  = 'SELECT name, subject, message FROM contact';
$result = mysql_query($query);

while($row = mysql_fetch_array($result, MYSQL_NUM))
<br>' .
         'Subject : <br>' .
         'Message : <br><br>';
}

include 'closedb.php';


?>          


Folosirea lui MYSQL_NUM impreuna cu mysql_fetch_array() duce la acelasi rezultat ca si mysql_fetch_row().


Mai exista o modalitate de a obtine valori dintr-un rand. Se poate folosi list() pentru a asigna o lista de variabile intr-o operatie.


<?php

include 'config.php';
include 'opendb.php';

$query  = 'SELECT name, subject, message FROM contact';
$result = mysql_query($query);

while(list($name,$subject,$message)= mysql_fetch_row($result))


include 'closedb.php';


?>


In exemplul de mai sus list() asigneaza valorile din array-ul returnat de mysql_fetch_row() in variabilele $name, $subject si $message.


Se mai poate face si astfel:


<?php

include 'config.php';
include 'opendb.php';

$query  = 'SELECT name, subject, message FROM contact';
$result = mysql_query($query);

while($row = mysql_fetch_row($result))


include 'closedb.php';

?>


Probleme:


sa se creeze un fisier de tip “hello world” si sa se ruleze.

sa se creeze baza de date “companie” cu structura identica celei create in MsSQL Server.

sa se populeze baza de date creata (minim 2 linii de date)

sa se interogheze baza de date si sa se returneze si afiseze toate datele din tabela « departament »




Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright