Hauser / Wenz | PHP 7 und MySQL | Buch | sack.de

Hauser / Wenz PHP 7 und MySQL



Das umfassende Handbuch, aktuell zu PHP 7.3. Dynamische Webseiten, von den Grundlagen bis zur professionellen Programmierung

3. aktualisierte Auflage 2019, 1037 Seiten, Gebunden, Format (B × H): 177 mm x 246 mm, Gewicht: 2010 g Reihe: Rheinwerk Computing
ISBN: 978-3-8362-6395-5
Verlag: Rheinwerk Verlag GmbH


Hauser / Wenz PHP 7 und MySQL

Das Buch richtet sich an ambitionierte Einsteiger und fortgeschrittene Entwickler, die umfangreiches Grundwissen in der Datenbankentwicklung und Programmierung mit PHP erhalten möchten. Die Autoren bieten Ihnen eine praxisorientierte Einführung in Techniken, Arbeitsweisen und Werkzeuge für Ihre datenbankgestützte Webseite mit PHP und MySQL.

Aus dem Inhalt:

- Vorbereitungen – Installation von PHP und PEAR

- Komplette Spracheinführung in PHP

- Neuerungen von PHP 7

- Basis-Webtechniken: Formulare, Sessions, Cookies

- Einsatz von Datenbanken

- MySQL, SQLite, Microsoft SQL Server, PostgreSQL, Oracle, MongoDB

- Kommunikation mit der Außenwelt: Dateien, HTTP, FTP

- Interaktion mit JavaScript

- XML-Dateien, Grafiken, PDF-Dokumente

- Sicherheitslücken vermeiden

- Benutzerauthentifizierung, PHP-Konfiguration, Fehlersuche und Debugging

- PHP erweitern

Die Fachpresse zur Vorauflage:

iX - Magazin für professionelle Informationstechnik: 'Ein Superding: zum Einsteigen, zum Weiterlernen, zum Nachschlagen, zum Stöbern.'

Weitere Infos & Material




Vorwort ... 23




TEIL I Vorbereitungen ... 29



1. Allgemeines zu PHP ... 31


1.1 ... Geschichte von PHP ... 31

1.2 ... Erfolg und Einsatz ... 32

1.3 ... Das Konzept von PHP ... 34

1.4 ... Die wichtigsten Neuerungen in PHP 7.3 ... 36

1.5 ... Die wichtigsten Neuerungen in PHP 7 ... 37

1.6 ... Die wichtigsten Neuerungen in PHP 5.4, 5.5 und 5.6 ... 38

1.7 ... Versionen und Anlaufstelle ... 40



2. Installation ... 41


2.1 ... PHP installieren ... 41

2.2 ... PEAR installieren ... 73



3. Test und Hilfe ... 79


3.1 ... Häufige Fehler ... 79

3.2 ... Hilfsquellen ... 90




TEIL II Einstieg in PHP ... 91



4. Grundlagen der Sprache ... 93


4.1 ... PHP in HTML ... 93

4.2 ... Ausgabe mit PHP ... 100

4.3 ... Variablen ... 102

4.4 ... Konstanten ... 114



5. Programmieren ... 115


5.1 ... Operatoren ... 115

5.2 ... Fallunterscheidungen ... 137

5.3 ... Schleifen ... 148

5.4 ... Sprünge ... 161



6. Funktionen und Sprachkonstrukte ... 163


6.1 ... Funktionen ... 163

6.2 ... Sprachkonstrukte ... 185



7. Strings ... 195


7.1 ... Verbinden ... 195

7.2 ... Teilen und Zusammenfügen ... 196

7.3 ... Groß- und Kleinschreibung ... 206

7.4 ... Beschneiden ... 209

7.5 ... Suchen und Ersetzen ... 211

7.6 ... Sonderzeichen, HTML etc. ... 218

7.7 ... Vergleichen ... 226

7.8 ... Hilfreiches und Nützliches ... 228



8. Arrays ... 235


8.1 ... Grundlagen ... 235

8.2 ... Arrays und Schleifen ... 240

8.3 ... Untersuchen ... 246

8.4 ... Transformieren ... 247

8.5 ... Suchen und Sortieren ... 256

8.6 ... Superglobale Arrays ... 258



9. Mathematische und Datumsfunktionen ... 265


9.1 ... Mathe ... 265

9.2 ... Datum und Zeit ... 276



10. Reguläre Ausdrücke ... 297


10.1 ... Grundlagen ... 297

10.2 ... Funktionen für reguläre Ausdrücke ... 299

10.3 ... Anwendungsbeispiele ... 305



11. Objektorientiert programmieren ... 309


11.1 ... Geschichte der Objektorientierung in PHP ... 309

11.2 ... Klassen und Objekte -- Grundbegriffe ... 310

11.3 ... Fortgeschrittenes ... 322

11.4 ... Hilfreiches und Nützliches ... 347



12. Namespaces ... 375


12.1 ... Warum Namespaces? ... 376

12.2 ... Mit Namespaces arbeiten ... 377



13. Entwurfsmuster: MVC & Co. ... 385


13.1 ... Zend Framework ... 386

13.2 ... MVC/MPS ... 388

13.3 ... Singleton/Einzelstück ... 393

13.4 ... Factory/Fabrik ... 395




TEIL III Webtechniken ... 397



14. Formulare ... 399


14.1 ... Vorbereitungen ... 399

14.2 ... Formulare mit PHP ... 402

14.3 ... Formularvalidierung ... 421

14.4 ... Vorausfüllung ... 435

14.5 ... Dateiuploads ... 446

14.6 ... Anwendungsbeispiele ... 449

14.7 ... Einstellungen ... 457



15. Cookies ... 459


15.1 ... Vorbereitungen ... 459

15.2 ... Fakten und Hintergründe ... 461

15.3 ... Mit Cookies in PHP arbeiten ... 464

15.4 ... Cookie-Test ... 478

15.5 ... Abschließende Überlegungen ... 480



16. Sessions ... 483


16.1 ... Vorbereitungen ... 483

16.2 ... Fakten, Hintergründe und Konfiguration ... 484

16.3 ... Mit Sessions in PHP arbeiten ... 488

16.4 ... Geschützter Bereich ... 495

16.5 ... Sessions in Datenbanken ... 498

16.6 ... Sicherheitsbedenken ... 506



17. E-Mail ... 509


17.1 ... Vorbereitungen ... 509

17.2 ... Mails mit PHP versenden ... 514




TEIL IV Datenbanken ... 529



18. SQL ... 531


18.1 ... Datenbanken und Tabellen anlegen ... 532

18.2 ... Daten eintragen ... 535

18.3 ... Daten abfragen ... 536

18.4 ... Daten aktualisieren ... 540

18.5 ... Daten löschen ... 540

18.6 ... Besonderheiten ... 541



19. PDO ... 549


19.1 ... Vorbereitungen ... 550

19.2 ... Datenbankzugriff mit PDO ... 552

19.3 ... Gästebuch ... 559



20. MySQL ... 569


20.1 ... Vorbereitungen ... 570

20.2 ... Datenbankzugriff mit MySQL ... 577

20.3 ... Alte MySQL-Versionen ... 601

20.4 ... Anwendungsbeispiel ... 604

20.5 ... Einstellungen ... 613



21. SQLite ... 615


21.1 ... Vorbereitungen ... 616

21.2 ... Datenbankzugriff mit SQLite ... 617

21.3 ... Anwendungsbeispiel ... 630



22. Microsoft SQL Server ... 639


22.1 ... Vorbereitungen ... 639

22.2 ... Microsoft SQL Server Driver for PHP ... 641

22.3 ... Anwendungsbeispiel ... 651



23. Oracle ... 659


23.1 ... Vorbereitungen ... 659

23.2 ... Datenbankzugriff mit Oracle ... 664

23.3 ... Anwendungsbeispiel ... 673



24. PostgreSQL ... 681


24.1 ... Vorbereitungen ... 681

24.2 ... Datenbankzugriff mit PostgreSQL ... 685

24.3 ... Anwendungsbeispiel ... 697

24.4 ... Einstellungen ... 705



25. MongoDB ... 707


25.1 ... Vorbereitungen ... 707

25.2 ... Datenbankzugriff mit MongoDB ... 712

25.3 ... Anwendungsbeispiel ... 719

25.4 ... Einstellungen ... 727




TEIL V Kommunikation ... 729



26. Dateien ... 731


26.1 ... Vorbereitungen ... 731

26.2 ... Dateihandling mit PHP ... 732

26.3 ... Anwendungsbeispiele ... 743

26.4 ... Einstellungen ... 751



27. Verbindung nach außen ... 753


27.1 ... Vorbereitungen ... 753

27.2 ... Verbindung nach außen mit PHP ... 754

27.3 ... Anwendungsbeispiele ... 768



28. Webservices ... 773


28.1 ... Vorbereitungen ... 773

28.2 ... nuSOAP ... 781

28.3 ... PHP-SOAP ... 789

28.4 ... REST ... 793

28.5 ... UDDI ... 796



29. JavaScript ... 799


29.1 ... Vorbereitungen ... 800

29.2 ... JavaScript mit PHP verbinden ... 800

29.3 ... Ajax ... 805

29.4 ... WebSockets ... 810




TEIL VI Fremdformate ... 817



30. XML ... 819


30.1 ... Vorbereitungen ... 819

30.2 ... XML-Zugriff ... 825

30.3 ... XMLReader und XMLWriter ... 844

30.4 ... EXIF ... 847



31. Grafiken mit PHP ... 853


31.1 ... Vorbereitungen ... 853

31.2 ... GD 2 im Einsatz ... 854

31.3 ... Die Alternativen ... 873



32. PDF mit PHP ... 875


32.1 ... Vorbereitung ... 876

32.2 ... TCPDF ... 877

32.3 ... FPDF ... 890

32.4 ... Haru ... 893




TEIL VII Administration und Sicherheit ... 895



33. Sicherheit ... 897


33.1 ... Benutzereingaben ... 899

33.2 ... XSS ... 902

33.3 ... SQL Injection ... 906

33.4 ... Versteckte Felder? ... 909

33.5 ... Input-Filter ... 912

33.6 ... Cross-Site Request Forgery ... 915

33.7 ... Screen Scraping und CAPTCHAs ... 920

33.8 ... Passwörter verschlüsseln ... 925

33.9 ... Fazit ... 928



34. Authentifizierung ... 929


34.1 ... Apache-Authentifizierung ... 930

34.2 ... IIS-Authentifizierung ... 934

34.3 ... HTTP-Authentifizierung von Hand ... 935

34.4 ... Fazit ... 938



35. Konfigurationsmöglichkeiten in der »php.ini« ... 941


35.1 ... Wo konfigurieren? ... 941

35.2 ... Was konfigurieren? ... 944

35.3 ... Fazit ... 952



36. Fehlersuche und Unittests ... 953


36.1 ... Debugging von Hand ... 955

36.2 ... Debugging mit DBG ... 957

36.3 ... Debugging mit Xdebug ... 961

36.4 ... Auflösung ... 966

36.5 ... Unittests mit PHPUnit ... 968



37. Apache-Funktionen ... 975


37.1 ... Vorbereitungen ... 975

37.2 ... Anwendungsbeispiele ... 976



38. Composer ... 983


38.1 ... Composer installieren ... 983

38.2 ... Pakete per Composer installieren ... 986

38.3 ... Eigenen Code für Composer anpassen ... 989



39. PHP-Erweiterungen ... 993


39.1 ... Programmieren ... 994

39.2 ... Kompilieren ... 1000

39.3 ... Testen ... 1004



40. Zu PHP beitragen ... 1007


40.1 ... Patches für PHP ... 1007

40.2 ... Weitere Möglichkeiten ... 1015



Index ... 1017


Wenz, Christian
Christian Wenz ist Autor, Trainer und Berater für Web-Technologien. Er hat bereits zahlreiche Bücher zu Web-Themen veröffentlicht, ist regelmäßig als Autor für diverse Fachmagazine tätig und unterhält einen Blog. Als Teilhaber der Web-Agentur Arrabiata Solutions GmbH realisiert er Web- und Intranetprojekte, führt Sicherheitsprüfungen durch und entwickelt Ajax-Anwendungen. Christian Wenz ist Webentwickler der ersten Stunde und in allen Webthemen zu Hause.

Hauser, Tobias
Als Buchautor schreibt Tobias Hauser seit vielen Jahren zu allen wichtigen Webthemen. Er veröffentlicht regelmäßig in Fachzeitschriften, spricht auf Entwicklerkonferenzen im In- und Ausland und ist Mitglied der Typo3 Certification Group. Als Teilhaber der Agentur Arrabiata Solutions GmbH realisiert er Web- und Intranetprojekte, führt Usability-Audits durch und realisiert E-Learning-Plattformen.


Ihre Fragen, Wünsche oder Anmerkungen

Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.