Inapoi la lista selectata

CUPRINS

 

Cuprins pe scurt

 

Introducere

1

I Utilizarea PHP

 

 

1 PHP, curs intensiv

9

2 Stocarea şi regăsirea datelor

50

3 Utilizarea tablourilor

71

4 Manevrarea şirurilor şi expresiile regulate

94

5 Reutilizarea codului şi scrierea funcţiilor

116

6 PHP orientat spre obiecte

140

7 Tratarea excepţiilor

170

II Utilizarea MySQL

 

 

8 Proiectarea bazei de date pentru Web

181

9 Crearea bazei de date pentru Web

192

10 Utilizarea bazei de date MySQL

214

11 Accesarea bazei de date MySQL de pe Web prin PHP

235

12 MySQL administrare avansată

252

13 MySQL - programare avansată

272

III Comerţul electronic şi securitatea

 

 

14 Întreţinerea unui site de comerţ electronic

285

15 Probleme de securitate în comerţul electronic

298

16 Implementarea autentificării cu PHP şi MySQL

317

17 Implementarea tranzacţiilor sigure cu PHP şi MySQL

337

IV Tehnici PHP avansate

 

 

18 Interacţiunea cu serverul şi cu sistemul de fişiere

355

19 Utilizarea funcţiilor pentru reţea şi protocol

372

20 Gestionarea datei şi orei

389

21 Generarea imaginilor

400

22 Utilizarea controlului sesiunii în PHP

424

23 Alte caracteristici utile

438

V Crearea de proiecte practice PHP şi MySQL

 

24 Utilizarea PHP şi MySQL pentru proiecte mari

447

25 Depanarea

462

26 Proiectarea autentificării utilizatorilor şi a personalizării

479

27 Proiectarea unui coş virtual de cumpărături

513

28 Proiectarea unui sistem de gestionare a conţinutului

552

29 Proiectarea unui serviciu e-maîl bazat pe Web

580

30 Proiectarea unui gestionar de liste poştale

613

31 Proiectarea de forumuri Web

661

32 Generarea de documente personalizate în format PDF

687

33 Conectarea la serviciile Web cu XML şi SOAP

719

VI Anexe

 

 

A Instalarea PHP şi MySQL

759

B Resurse Web

779

Index

782

Cuprins

 

Introducere

1

Utilizarea PHP

 

 

l PHP, curs intensiv

9

Utilizarea PHP

10

Aplicaţie exemplu: Bob's Auto Parts

10

Formularul de comandă

10

Prelucrarea formularului

12

Înglobarea limbajului PHP în HTML

13

Utilizarea etichetelor PHP

14

Stiluri de etichete PHP

14

Instrucţiuni PHP

15

Spaţii albe

15

Comentarii

16

Adăugarea de conţinut dinamic

17

Apelul funcţiilor

17

Funcţia date()

17

Accesarea variabilelor formular

18

Variabile formular

18

Concatenarea şirurilor

21

Variabile şi valori literale

22

Identificatori

23

Variabile declarate de utilizator

23

Atribuirea de valori pentru variabile

23

Tipuri de variabile

24

Tipuri de date din PHP

24

Puterea tipurilor

24

Schimbarea tipurilor

25

Variabile variabile

25

Declararea şi utilizarea constantelor

25

Domeniul de valabilitate al variabilelor

26

Utilizarea operatorilor

27

Operatori aritmetici

27

Operatori pentru şiruri

28

Operatori de atribuire

28

Operatori de comparare

31

Operatori logici

32

Operatori pe biţi

32

Alţi operatori

33

Utilizarea operatorilor: calcularea totalurilor din formular

35

Prioritate şi asociativitate: evaluarea expresiilor

36

Funcţii variabile

37

Testarea şi stabilirea tipului variabilelor

37

Testarea stării variabilelor

38

Variabile reinterpretate

39

Structuri de control

39

Luarea deciziilor prin structuri condiţionale

40

Instrucţiuni if

40

Blocuri de cod

40

Instrucţiuni else

41

Instrucţiuni elseif

41

Instrucţiuni switch

42

Comparaţie între structurile condiţionale

44

Iteraţia: acţiuni care se repetă

44

Bucle while

46

Bucle for şi foreach

47

Bucle do.. while

48

Ieşirea dîntr-o structură de control sau dintr-un script

48

Utilizarea sintaxei alternative pentru structurile de control

49

Utilizarea structurii de control declare

49

În continuare: salvarea comenzii clientului

49

2 Stocarea şi regăsirea datelor

50

Salvarea datelor pentru mai târziu

50

Stocarea şi regăsirea comenzilor lui Bob

51

Prelucrarea fişierelor

51

Deschiderea unui fişier

52

Modurile fişierelor

52

Utilizarea funcţiei fopen() pentru deschiderea unui fişier

52

Deschiderea fişierelor prin FTP şi HTTP

55

Probleme cu deschiderea fişierelor

56

Scrierea într-un fişier

57

Parametri pentru fwrite()

58

Formate de fişiere

58

Închiderea unui fişier

59

Citirea dintr-un fişier

61

Deschiderea unui fişier pentru citire: fopen()

62

Când ne oprim: feof()

62

Citirea unei singure linii: jgets(), jgetss() şi fgetcsv()

63

Citirea întregului fişier; readfile(), Jpassthru(), file()

64

Citirea unui caracter: fgetc()

64

Citirea, unei lungimi arbitrare: fread()

65

Alte funcţii utile pentru fişiere

65

Verificarea existenţei unui fişier: file_exists()

65

Aflarea dimensiunii unui fişier: filesize()

66

Ştergerea unui fişier: unlink()

66

Navigarea în interiorul unui fişier: rewind(), fieek() şi ftell()

66

Blocarea fişierelor

67

O metodă mai bună: sistemele de gestionare a bazelor de date

68

Probleme la folosirea fişierelor plate

68

Cum rezolvă SGBDR-urile aceste probleme

69

Lecturi suplimentare

70

În continuare

70

Utilizarea tablourilor

71

Ce este un tablou?

71

Tablouri indexate numeric

72

Iniţializarea tablourilor indexate numeric

72

Accesarea conţinutului tabloului

73

Utilizarea buclelor pentru accesarea tabloului

74

Tablouri asociative

74

Iniţializarea unui tablou asociativ

74

Accesarea elementelor tablourilor

74

Utilizarea buclelor în tablouri asociative

75

Operatori pentru tablouri

76

Tablouri multidimensionale

77

Sortarea tablourilor

81

Utilizarea funcţiei sort()

81

Utilizarea funcţiilor asort() şi ksort() pentru sortarea tablourilor

81

Sortarea inversă

81

Sortarea tablourilor multidimensionale

82

Sortări definite de utilizator

82

Sortări inverse definite de utilizator

83

Reordonarea tablourilor

84

Utilizarea funcţiei shuffle()

84

Utilizarea juncţiei array_reverse()

85

Încărcarea tablourilor din fişiere

86

Alte manevrări ale tablourilor

89

Navigarea într-un tablou: each(), current(), reset(), end(), next(), pos() şi prev()

89

Aplicarea unei funcţii oarecare asupra fiecărui element dintr-un tablou: array_walk()

90

Contorizarea elementelor unui tablou: count(), sizeof() şi array_count_values()

91

Conversia tablourilor la variabile scalare: extract()

92

Lecturi suplimentare

93

În continuare

93

4 Manevrarea şirurilor si expresiile regulate

94

Aplicaţie exemplu: Smart Form Mail

94

Formatarea şirurilor

96

Tăierea şirurilor: trim(), Itrim() şi rtrim()

96

Formatarea şirurilor pentru afişare

97

Formatarea şirurilor pentru stocare: addslashes() şi stripslashes()

100

Unirea şi divizarea şirurilor folosind funcţii pentru şiruri

101

Utilizarea funcţiilor explode(), implode() şi join()

102

Utilizarea funcţiei strtok()

102

Utilizarea funcţiei substr()

103

Compararea şirurilor

104

Ordonarea şirurilor: strcmp(), strcasecmp() şi strnatcmp()

104

Testarea lungimii şirurilor cu strlen()

105

Potrivirea şi înlocuirea subşirurilor cu ajutorul funcţiilor pentru şiruri

105

Găsirea şirurilor în şiruri: strstr(), strchr(), strrchr() şi stristr()

105

Aflarea poziţiei unui subşir: strpos() şi strrpos()

106

Înlocuirea subşirurilor: str_replace(), substr_replace()

107

Introducere în expresiile regulate

108

Noţiuni de bază

108

Seturi şi clase de caractere

109

Repetări

110

Subexpresii

110

Subexpresii contorizate

110

Ancorarea la începutul sau la sfârşitul unui şir

111

Ramificări

111

Potrivirea caracterelor speciale cu valori literale

111

Rezumat al caracterelor speciale

112

Asamblarea formularului Smart Form

112

Găsirea subşirurilor cu ajutorul expresiilor regulate

113

Înlocuirea subşirurilor cu ajutorul expresiilor regulate

114

Divizarea subşirurilor cu ajutorul expresiilor regulate

114

Comparaţie între funcţiile pentru şiruri şi funcţiile pentru expresii regulate

115

Lecturi suplimentare

115

În continuare

115

5 Reutilizarea codului şi scrierea funcţiilor

116

Reutilizarea codului

116

Costul

116

Fiabilitatea

117

Coerenţa

117

Utilizarea instrucţiunilor require() şi include()

117

Utilizarea instrucţiunii require()

117

Extensiile de nume de fişier si instrucţiunea require()

118

Etichetele PHP si instrucţiunea require()

119

Utilizarea instrucţiunii require() pentru şabloanele de site-uri Web

119

Utilizarea instrucţiunii include()

123

Utilizarea instrucţiunilor require_once() şi include_once()

124

Utilizarea opţiunilor auto_prepend_file şi auto_append_file

124

Utilizarea funcţiilor în PHP

125

Apelul funcţiilor

125

Apelul unei fiuncţii nedefinite

126

Tipul de caracter şi numele funcţiilor

127

De ce să definiţi propriile funcţii?

127

Structura fundamentală a unei funcţii

128

Denumirea, funcţiei dumneavoastră

128

Parametri

129

Domeniul de valabilitate

131

Transferul prin referinţă şi transferul prin valoare

134

Returnarea din funcţii

135

Returnarea de valori din funcţii

136

Blocuri de cod

137

Recursivitatea

138

Lecturi suplimentare

139

În continuare

139

6 PHP orientat spre obiecte

140

Conceptele orientării spre obiecte

140

Clase şi obiecte

140

Polimorfismul

142

Moştenirea

142

Crearea de clase, atribute şi operaţii în PHP

143

Structura unei clase

143

Constructori

143

Destructori

144

Instanţierea claselor

144

Utilizarea atributelor clasei

145

Controlul accesului cu ajutorul modificatorilor de acces private şi public

147

Apelul operaţiilor clasei

148

Implementarea moştenirii în PHP

148

Controlarea vizibilităţii prin moştenire cu ajutorul modificatorilor de acces

private si protected

149

Suprascrierea

150

Prevenirea moştenirii şi suprascrierii utilizând cuvântul cheie final

152

Moştenirea multiplă

152

Implementarea interfeţelor

153

Proiectarea claselor

154

Scrierea codului pentru clasa dumneavoastră

154

Funcţionalităţi noi şi avansate orientate spre obiecte în PHP

162

Notă: PHP4 versus PHP5

162

Constantele per-clasă

163

Implementarea metodelor statice

163

Verificarea tipului clasei şi sugestii de tip

163

Clonarea obiectelor

164

Clasele abstracte

164

Supraîncărcarea metodelor cu __call()

165

Funcţia _autoload()

166

Implementarea iteratorilor şi iteraţiilor

166

Conversia claselor în şiruri

168

Interfaţa API de reflecţie

168

În continuare

169

7 Tratarea excepţiilor

170

Concepte în tratarea excepţiilor

170

Clasa Exception

172

Excepţii definite de utilizator

172

Excepţii în Bob's Auto Parts

175

Excepţiile şi celelalte mecanisme de tratare a erorilor din PHP

178

Lecturi suplimentare

179

În continuare

179

II Utilizarea MySQL

 

 

8 Proiectarea bazei de date pentru Web

181

Conceptele bazelor de date relaţionale

182

Tabele

182

Coloane

183

Linii

183

Valori

183

Chei

183

Scheme

184

Relaţii

184

Cum să proiectaţi propria bază de date pentru Web

185

Gândiţi-vă la obiectele din lumea reală pe care le modelaţi

185

Evitaţi stocarea de date redundante

185

Utilizaţi valori atomice pentru coloane

187

Alegeţi chei practice

188

Gândiţi-vâ la întrebările pe care este posibil să le adresaţi bazei de date

188

Evitaţi proiectele cu multe atribute vide

188

Rezumat al tipurilor de tabele

189

Arhitectura bazelor de date pentru Web

189

Arhitectura

189

Lecturi suplimentare

191

În continuare

191

9 Crearea bazei de date pentru Web

192

Utilizarea monitorului MySQL

193

Deschiderea unei sesiuni de lucru în MySQL

194

Crearea de baze de date şi de utilizatori

195

Crearea bazei de date

195

Utilizatori şi privilegii

195

Introducere în sistemul de privilegii al MySQL

196

Principiul privilegiului minim

196

Configurarea utilizatorilor: comanda GRANT

196

Tipuri şi niveluri de privilegii

198

Comanda REVOKE

200

Exemple de utilizare a comenzilor GRANT şi REVOKE

200

Configurarea unui utilizator pentru Web

201

Închiderea sesiunii de lucru ca root

201

Utilizarea bazei de date potrivite

202

Crearea tabelelor bazei de date

202

Ce înseamnă celelalte cuvinte cheie

204

Tipuri de coloane

204

Examinarea bazei de date cu SHOW şi cu DESCRISE

206

Crearea indexurilor

207

Nota referitoare la tipurile de tabele

207

Identificatori MySQL

207

Tipuri de date pentru coloane

208

Tipuri numerice

209

Lecturi suplimentare

213

În continuare

213

10 Utilizarea bazei de date MySQL

214

Ce este SQL?

214

Inserarea datelor în baza de date

215

Regăsirea datelor din baza de date

217

Regăsirea datelor care corespund anumitor criterii

218

Regăsirea de date din mai multe tabele

220

Regăsirea datelor într-o anumita ordine

225

Gruparea şi comasarea datelor

225

Alegerea liniilor care vor fi returnate

227

Utilizarea sub interogărilor

227

Actualizarea înregistrărilor din baza de date

230

Modificarea tabelelor

230

Ştergerea de înregistrări din baza de date

233

Eliminarea unor tabele

233

Eliminarea unei întregi baze de date

233

Lecturi suplimentare

234

În continuare

234

11 Accesarea bazei de date MySQL de pe Web prin PHP

235

Modul de funcţionare a arhitecturii bazelor de date pentru Web

235

Etapele de bază în interogarea prin Web a unei baze de date

238

Verificarea şi filtrarea datelor de intrare

239

Configurarea unei conexiuni

240

Alegerea unei baze de date

241

Interogarea bazei de date

241

Regăsirea rezultatelor interogării

242

Deconectarea de la baza de date

243

Adăugarea informaţiilor noi în baza de date

244

Utilizarea instrucţiunilor preparate

247

Alte interfeţe PHP fa baze de date

248

Utilizarea unei interfeţe generale pentru baza de date: PEAR DB

249

Lecturi suplimentare

251

În continuare

251

12 MySQL - administrare avansată

252

Detalierea sistemului de privilegii

252

Tabela user

253

Tabelele db si host

254

Tabelele tables_priv si columns_priv

255

Controlul accesului: Cum utilizează MySQL tabelele de acordare a privilegiilor

256

Actualizarea privilegiilor: Când au efect modificările?

257

Securizarea bazei de date MySQL

257

MySQL din punctul de vedere al sistemului de operare

257

Parole

258

Privilegiile utilizatorilor

258

Probleme Web

259

Obţinerea mai multor informaţii despre bazele de date

259

Obţinerea de informaţii cu instrucţiunea SHOW

260

Obţinerea de informaţii despre coloane cu instrucţiunea DESCRIBE

262

Înţelegerea modului de funcţionare a interogărilor cu ajutorul

instrucţiunii EXPLAIN

262

Accelerarea interogărilor prin indexuri

266

Sugestii generale de optimizare

267

Optimizarea proiectării

267

Permisiuni

267

Optimizarea tabelelor

267

Utilizarea indexurilor

267

Utilizarea valorilor prestabilite

268

Alte sugestii

268

Salvarea de siguranţă a bazei de date MySQL

268

Restaurarea bazei de date MySQL

269

Implementarea reproducerii

269

Configurarea serverului master

270

Realizarea transferului iniţial de date

270

Configurarea sistemului/sistemelor slave

271

Lecturi suplimentare

271

În continuare

271

13 MySQL - programare avansată

272

Instrucţiunea LOAD DATA INFILE

272

Motoare de stocare

272

Tranzacţii

274

Definiţia tranzacţiilor

274

Utilizarea tranzacţiilor prin InnoDB

274

Chei externe

276

Proceduri stocate

276

Exemplu elementar

277

Variabile locale

279

Cursori si structuri de control

280

Lecturi suplimentare

283

În continuare

283

III Comerţul electronic şi securitatea

 

 

14 Întreţinerea unui site de comerţ electronic

285

Ce doriţi să realizaţi?

285

Tipuri de site-uri Web comerciale

286

Broşuri on-line

286

Preluarea de comenzi pentru bunuri sau servicii

289

Oferirea de servicii şi bunuri digitale

293

Îmbunătăţirea bunurilor sau serviciilor

293

Reducerea costurilor

294

Riscuri şi ameninţări

294

Crackerii

295

Eşecul de a atrage un număr suficient de clienţi

295

Defectarea hardware-ului calculatoarelor

295

Probleme cu tensiunea electrică, cu comunicaţiile sau cu reţeaua

296

Concurenţa mare

296

Erorile de software

296

Modificarea legislaţiei si a taxelor

296

Limitele capacităţii sistemului

297

Alegerea unei strategii

297

În continuare

297

15 Probleme de securitate în comerţul electronic

298

Cât de importante sunt informaţiile dumneavoastră?

298

Ameninţările privind securitatea

299

Expunerea datelor confidenţiale

299

Pierderea sau distrugerea datelor

301

Modificarea datelor

302

Refuzul serviciului

302

Erorile din software

303

Retractarea

305

Echilibrarea posibilităţii de utilizare, performanţei, costului şi securităţii

305

Crearea unui regulament de securitate

306

Principiile autentificării

306

Utilizarea autentificării

307

Elementele de bază ale criptării

308

Criptarea cu cheie privată

309

Criptarea cu cheie publică

310

Semnăturile digitale

310

Certificatele digitale

311

Serverele Web sigure

312

Auditarea şi jurnalizarea

313

Sistemele de securitate integrată (firewalls)

314

Salvarea de siguranţă a datelor

314

Salvarea de siguranţă a fişierelor generale

315

Salvarea de siguranţă şi restaurarea unei baze de date MySQL

315

Securitatea fizică

315

În continuare

316

16 Implementarea autentificării cu PHP şi MySQL

317

Identificarea vizitatorilor

317

Implementarea controlului accesului

318

Stocarea parolelor

321

Criptarea parolelor

323

Protejarea mai multor pagini

324

Autentificarea de baza

325

Utilizarea autentificării de bază în PHP

326

Utilizarea autentificării de bază cu fişierele .htaccess din Apache

328

Utilizarea autentificării de bază cu IIS

331

Utilizarea autentificării mod_auth_mysql

333

Instalarea modulului mod_auth_mysql

334

A funcţionat?

334

Utilizarea, modulului mod_auth_mysql

334

Crearea unei metode personale de autentificare

335

Lecturi suplimentare

336

În continuare

336

17 Implementarea tranzacţiilor sigure cu PHP şi MySQL

337

Oferirea tranzacţiilor sigure

337

Sistemul utilizatorului

338

Internetul

339

Sistemul dumneavoastră

340

Utilizarea Secure Sockets Layer (SSL)

341

Filtrarea datelor introduse de utilizator

344

Oferirea unei stocări sigure

345

De ce stocaţi numerele cărţilor de credit?

346

Utilizarea criptării în PHP

346

Instalarea GPG

347

Testarea GPG

349

Lecturi suplimentare

354

În continuare

354

IV Tehnici PHP avansate

 

 

18 Interacţiunea cu serverul şi cu sistemul de fişiere

355

Încărcarea fişierelor

356

Codul HTML pentru încărcarea de fişiere

356

O remarcă referitoare la securitate

357

Scrierea codului PHP care manevrează fişierul

357

Probleme frecvente

361

Utilizarea funcţiilor pentru directoare

362

Citirea din directoare

362

Obţinerea informaţiilor despre directorul curent

363

Crearea şi ştergerea directoarelor

364

Interacţiunea cu sistemul de fişiere

364

Obţinerea informaţiilor despre fişiere

364

Modificarea proprietăţilor fişierelor

367

Crearea, ştergerea şi mutarea fişierelor

367

Utilizarea funcţiilor pentru execuţia programelor

368

Interacţiunea cu mediul: getenv() şi putenv()

370

Lecturi suplimentare

371

În continuare

371

19 Utilizarea funcţiilor pentru reţea şi protocol

372

Prezentare generală a protocoalelor disponibile

372

Trimiterea şi citirea mesajelor e-mail

373

Utilizarea altor site-uri Web

373

Utilizarea funcţiilor de căutare în reţea

376

Utilizarea FTP

380

Utilizarea FTP pentru salvarea de siguranţă sau pentru oglindirea unui fişier

387

Încărcarea fişierelor

387

Evitarea depăşirilor de timp

387

Utilizarea altor funcţii pentru FTP

387

Lecturi suplimentare

388

În continuare

388

20 Gestionarea datei şi orei

389

Obţinerea datei şi orei în PHP

389

Utilizarea funcţiei date()

389

Manevrarea marcajelor de dată UNIX

391

Utilizarea funcţiei getdate()

393

Validarea datelor calendaristice

393

Conversia între formatele de data PHP şi MySQL

394

Calcule cu date calendaristice

395

Calcularea datelor calendaristice în MySQL

396

Utilizarea microsecundelor

397

Utilizarea funcţiilor calendaristice

398

Lecturi suplimentare

399

În continuare

399

21 Generarea imaginilor

400

Configurarea suportului pentru imagini în PHP

400

Formate de imagini

401

JPEG

401

PNG

402

WBMP

402

GIF

402

Crearea imaginilor

403

Crearea unei suprafeţe a imaginii

404

Desenarea sau scrierea de text te imagine

404

Afişarea imaginii finale

406

Eliberarea resurselor

407

Utilizarea în alte pagini a imaginilor generate automat

407

Utilizarea de text şi fonturi pentru crearea de imagini

408

Stabilirea suprafeţei de baza

411

Potrivirea textului în buton

412

Poziţionarea textului

415

Scrierea textului pe buton

415

Încheiere

415

Desenarea figurilor şi crearea diagramelor

416

Alte funcţii pentru imagini

423

Lecturi suplimentare

423

În continuare

423

22 Utilizarea controlului sesiunii în PHP

424

Ce este controlul sesiunii?

424

Funcţionalitatea de bază a sesiunilor

424

Ce este un bloc cookie?

425

Crearea blocurilor cookie din PHP

425

Utilizarea blocurilor cookie pentru sesiuni

426

Stocarea ID-uiui ele sesiune

426

Implementarea sesiunilor simple

426

Pornirea unei sesiuni

427

Înregistrarea variabilelor sesiune

427

Utilizarea variabilelor sesiune

427

Ştergerea variabilelor ţi distrugerea sesiunii

428

Exemplu de sesiune simplă

428

Configurarea controlului sesiunii

430

Implementarea autentificării prin controlul sesiunii

431

Lecturi suplimentare

437

În continuare

437

23 Alte caracteristici utile

438

Utilizarea ghilimelelor magice

438

Evaluarea şirurilor: funcţia eval()

439

Încheierea execuţiei: die şi exit

440

Serializarea variabilelor şi obiectelor

440

Obţinerea de informaţii despre mediu! PHP

441

Aflarea extensiilor care sunt încărcate

441

Identificarea proprietarului unui script

442

Aflarea datei la care a fost modificat un script

442

Încărcarea dinamică a extensiilor PHP

443

Modificarea temporară a mediului de rulare

443

Evidenţierea codului sursa

444

Utilizarea PHP de la linia de comandă

445

În continuare

446

V Crearea de proiecte practice PHP şi MySQL

 

 

24 Utilizarea PHP şi MySQL pentru proiecte mari

447

Aplicarea ingineriei programării în dezvoltarea Web

448

Planificarea şi rularea unui proiect de aplicaţie Web

449

Reutilizarea codului

449

Scrierea de cod care poate fi întreţinut

450

Standarde de scriere a codului

451

Împărţirea codului

453

Utilizarea unei structuri standard ele directoare

454

Documentarea şi partajarea funcţiilor interne

454

Implementarea controlului versiunilor

455

Alegerea unui mediu de dezvoltare

456

Documentarea proiectelor dumneavoastră

456

Realizarea de prototipuri

457

Separarea logicii de conţinut

458

Optimizarea codului

459

Utilizarea optimizărilor simple

459

Utilizarea produselor Zend

460

Testarea

460

Lecturi suplimentare

461

În continuare

461

25 Depanarea

462

Erori de programare

462

Erori de sintaxă

462

Erori din timpul execuţiei

464

Erori de logică

469

Asistenţă în depanarea variabilelor

470

Niveluri de raportare a erorilor

472

Modificarea opţiunilor de raportare a erorilor

473

Declanşarea propriilor mesaje de eroare

475

Tratarea eleganta a erorilor

475

În continuare

478

26 Proiectarea autentificării utilizatorilor şi a personalizării

479

Problema

479

Componentele soluţiei

479

Identificarea utilizatorului şi autentificarea

480

Stocarea semnelor de carte

480

Recomandarea unor semne de carte

480

Privire generală asupra soluţiei

481

Implementarea bazei de date

483

Implementarea site-ului de bază

484

Implementarea autentificării utilizatorilor

486

Înregistrarea

486

Deschiderea unei sesiuni de lucru

492

Închiderea unei sesiuni de lucru

496

Schimbarea parolelor

497

Resetarea parolelor uitate

499

Implementarea stocării şi regăsirii semnelor de carte

503

Adăugarea de semne de carte

503

Afişarea semnelor de carte

505

Ştergerea, semnelor de carte

506

Implementarea recomandărilor

509

Încheiere şi extinderi posibile

512

În continuare

512

27 Proiectarea unui coş virtual de cumpărături

513

Problema

513

Componentele soluţiei

514

Construirea unui catalog on-line

514

Urmărirea produselor selectate de un utilizator în timp ce face cumpărături

514

Implementarea unui sistem de plata

514

Construirea unei interfeţe de administrare

515

Privire generală asupra soluţiei

515

Implementarea bazei de date

518

Implementarea catalogului on-Iine

521

Listarea categoriilor

521

Listarea cărţilor dintr-o categorie

525

Prezentarea detaliilor despre carte

526

Implementarea coşului virtual de cumpărături

528

Utilizarea scriptului show_cart.php

531

Vizualizarea coşului

533

Adăugarea de produse în cos

535

Salvarea conţinutului actualizat ai coşului

535

Afişarea unui rezumat în bara antet

536

Casa librăriei on-line

541

Implementarea metodei de plată

543

Implementarea unei interfeţe de administrare

550

Extinderea proiectului

551

Utilizarea unui sistem existent

551

În continuare

552

28 Proiectarea unui sistem de gestionare a conţinutului

552

Problema

552

Cerinţele soluţiei

553

Sisteme existente

553

Editarea conţinutului

553

Introducerea conţinutului în sistem

553

Stocare în baze de date sau în fişiere

554

Structura documentelor

554

Utilizarea metadatelor

555

Formatarea ieşirii

555

Proiectarea soluţiei / Privire generală

556

Proiectarea bazei de date

557

Implementarea CMS

559

Partea de client

559

Partea de server

565

Căutarea

574

Ecranul redactorului

577

Extinderea proiectului

579

În continuare

579

29 Proiectarea unui serviciu e-mail bazat pe Web

580

Problema

580

Componentele soluţiei

581

Privire generală asupra soluţiei

582

Configurarea bazei de date

584

Examinarea arhitecturii scriptului

585

Deschiderea şi închiderea unei sesiuni de lucru

591

Configurarea conturilor

593

Crearea unui cont nou

595

Modificarea unui cont existent

597

Ştergerea unui cont

597

Citirea mesajelor

598

Selectarea unui cont

598

Vizualizarea conţinutului cutiei poştale

601

Citirea unui mesaj poştal

603

Vizualizarea preambulurilor mesajelor

606

Ştergerea de mesaje

607

Trimiterea de mesaje

608

Trimiterea unui mesaj nou

608

Răspunsul la mesaje sau reexpedierea mesajelor

609

Extinderea proiectului

611

În continuare

612

30 Proiectarea unui gestionar de liste poştale

613

Problema

613

Componentele soluţiei

614

Configurarea unei baze de date cu liste si abonaţi

614

Încărcarea de fişiere

614

Trimiterea de mesaje care au fişiere ataşate

615

Privire generală asupra soluţiei

615

Configurarea bazei de date

617

Arhitectura scripcului

619

Implementarea deschiderii unei sesiuni de lucru

627

Crearea unui cont nou

627

Deschiderea unei sesiuni de lucru

630

Implementarea funcţiilor pentru utilizatori

632

Vizualizarea Listelor

633

Vizualizarea informaţiilor despre liste

637

Vizualizarea arhivei cu liste

639

Modificarea opţiunilor de configurare a contului

641

Schimbarea parolelor

642

Încheierea sesiunii de lucru

643

Implementarea funcţiilor pentru administrare

644

Crearea unei liste noi

644

Încărcarea unui buletin informativ nou

646

Manevrarea încărcării mai multor fişiere

649

Previzualizarea buletinului informativ

653

Trimiterea mesajului

654

Extinderea proiectului

660

În continuare

660

31 Proiectarea de forumuri Web

661

Problema

661

Componentele soluţiei

662

Privire generală asupra soluţiei

663

Proiectarea bazei de date

664

Vizualizarea arborelui de articole

666

Extinderea şi restrângerea

668

Afişarea articolelor

671

Utilizarea clasei treenode

672

Afişarea articolelor individuale

678

Adăugarea articolelor noi

679

Extinderi

686

Utilizarea unui sistem existent

686

În continuare

686

32 Generarea de documente personalizate în format PDF

687

Problema

687

Evaluarea formatelor ele document

688

Componentele soluţiei

691

Sistemul de întrebări şi răspunsuri

691

Software pentru generarea documentelor

692

Privire generală asupra soluţiei

694

Chestionarea

695

Evaluarea răspunsurilor

697

Generarea unui certificat RTF

699

Generarea unui certificat PDF dintr-un şablon

703

Generarea unui document PDF utilizând PDFlib

706

Un script Hello World pentru PDFlib

706

Generarea certificatului nostru cu PDFlib

710

Probleme cu preambulurile

717

Extinderea proiectului

718

Lecturi suplimentare

718

În continuare

718

33 Conectarea la serviciile Web cu XML şi SOAP

719

Problema

719

Prezentarea XML

720

Prezentarea serviciilor Web

723

Componentele soluţiei

725

Construirea unui coş virtual de cumpărături

725

Utilizarea interfeţelor Amazon Web Services

725

Analizarea XML

726

Utilizarea SOAP cu PHP

726

Stocarea în cache

727

Privire generală asupra soluţiei

727

Nucleul aplicaţiei

731

Afişarea cărţilor dintr-o categorie

736

Obţinerea unei clase AmazonResultSet

738

Utilizarea REST/XML prin HTTP

745

Utilizarea SOAP

750

Stocarea datelor în cache

751

Construirea coşului virtual de cumpărături

753

Transferarea detaliilor la Amazon

756

Instalarea codului proiectului

757

Extinderea proiectului

757

Lecturi suplimentare

758

VI Anexe

 

 

A Instalarea PHP şi MySQL

759

Rularea PHP ca interpretor CGI sau ca modul

760

Instalarea Apache, PHP şi MySQL sub Unix

760

Instalarea binară

760

Instalarea din cod sursă

760

Fragmente din fişierul httpd.conf

767

Suportul pentru PHP funcţionează?

768

SSL funcţionează?

769

Instalarea Apache, PHP şi MySQL sub Windows

770

Instalarea MySQL sub Windows

770

Instalarea Apache sub Windows

773

Instalarea PHP pentru Windows

775

Instalarea PEAR

777

Alte configurări

778

B Resurse Web

779

Resurse PHP

779

Resurse specifice MySQL şi SQL

781

Resurse Apache

781

Dezvoltare Web

781

Index

782