Programmieren mit php und mySQL (Einführung) - Guru 2.0
Programmieren mit php und mySQL (Einführung)

Programmieren mit php und mySQL (Einführung)

Ich überlege schon seit einiger Zeit eine Einführung in die Programierung mit php & mySQL zu schreiben. Jetzt ist es soweit und ich habe mich, entschieden eine mehrteilige Artikelserie dazu zu verfassen.

Immer mehr wird der webDesigner gefordert und einfaches HTML & CSS reichen schon lange nicht mehr. Bildbearbeitung und JavaScript sind heute schon Basiswissen in der Branche. In den letzten Jahren und Monaten wird aber immer mehr nach php und mySQL gefragt. Genauso werden immer mehr CMS und Blogs eingesetzt und auch bei diesen webSites werden immer wieder Anpassungen von den webDesigner verlangt. Es ist heute auch wichtig, mit diesen beiden “Sprachen” umgehen zu können.

In dieser Artikelserie beschäftige ich mit der Version 5 von php und mySQL. Die Zielgruppe für diese Serie ist momentan der absolute Anfänger (als Programmierer oder auch in php). Daher werde ich einige Dinge sehr vereinfacht darstellen. Die Profis unter euch mögen es mir verzeihen. Aber liebe Profis ein Kommentar ist immer willkommen, denn Fehler passieren und Zusatzinfos sind immer willkommen. Natürlich wird die Artikelserie irgendwann auch mal die Profis ansprechen, also Geduld.

Auch versuche ich viele Dinge “anfängergerecht” darzustellen. Daher werde ich die eine oder andere Kurzversion in der Programmierung mit php entweder stillschweigend weglassen oder einfach nur kurz erwähnen. Auch hier wieder eine Bitte an die Profis: Macht einfach die Augen zu, wenn es nicht die Ultrakurzversion einer Befehlssequenz ist. Oft ist es vom Verständnis her besser, die Dinge etwas ausführlicher darzustellen. Die Kurzvarianten kommen dann von selber.

Allgemeines

Zuerst muss Du wissen was ist php überhaupt. Klar, sagst Du, es ist eine Programmiersprache. Aber wie wird sie eingesetzt und wo läuft das Programm? Und welche Art von Sprache ist es überhaupt?

PHP ist eine Skript- und eine Interpretersprache. Je nach Einsatzgebiet und Konfiguration verhält sich php verschieden. Als Skriptsprache kann sie auf einem webServer laufen und dynamische Ergebnisse an den Benutzer liefern. Dieses Einsatzgebiet ist heute eher selten. Meistens wird php als Interpretersprache eingesetzt. Das heißt es wird ein Programm mit einem beliebigen Editor erstellt und ein spezielles Programm auf einem Computer, ein Interpreter, übersetzt das Programm beim Aufruf in “computerlesbare” Form. Dies geschieht bei jedem Aufruf. Im Gegensatz zu kompilierten Sprachen. Diese werden einmal übersetzt und dann in dieser übersetzten Form aufgerufen.

Damit ein webServer mit php umgehen kann, muss das entsprechende Modul installiert/aktiviert sein. Wenn Du deine webSite bei einem Hoster hast, dann brauchst Du dir über diesen Punkt keine Gedanken machen. Denn es wurde alles für Dich bereits richtig konfiguriert. Wie läuft das jetzt aber im Web mit all diesen Sprachen: html, css, JavaScript und php ab? Wie immer sagt ein Bild mehr als tausend Worte:

php-Prozesse auf einem webServer

php-Prozesse auf einem webServer

In obiger Abbildung sieht man wie verschiedene Benutzer eine php-Datei (in diesem Fall index.php) vom webServer abrufen. Dieser startet für jeden Aufruf einen eigenen Prozess und interpretiert das angeforderte php-Programm. Nach dem der Interpreter fertig ist, übergibt er das Resultat an den webServer, welcher dieses an den Anwender als html-Daten ausliefert.

Du siehst hier sehr deutlich, dass php nichts mit dem Anwender (der Client-Seite) zu tun hat. Alles läuft auf dem Server und nichts auf dem Anwendercomputer. Genau im Gegensatz dazu steht html, css und JavaScript. Hier läuft alles beim Anwender auf dem Computer und der Server ist nur der Lieferant der Dateien.

Wenn wir ein wenig in die Tiefe gehen, sieht das Ganze noch komplizierter aus. Wenn wir webServer sagen, meinen wir eigentlich die Hardware und ein ganzes Paket an verschiedenen Anwendungen. Ich beschreibe es hier exemplarisch an einem Beispeil mit einem Typ an Applikationen. Ein webServer besteht prinzipiell aus der Hardwarw (Hauptplatine, Prozessor, Hauptspeicher, Festplatte(n), Netzwerkanbindung(en), … Auf dieser Hardware ist ein Betriebssystem installiert, zum Beispiel Free-BSD. Auf diesem System läuft meistens ein Paket names XAMPP. Dieses besteht aus einem webServer (Apache), einer Datenbank (mySQL), dem php-Interpreter und einem PERL-Interpreter (eine weitere Programmiersprache). Apache ist dafür zuständig, dass der Server vom web erreichbar ist und auf Anfragen reagiert. Weiters kümmert er sich um das Senden von html-Dateien, css-Datei, JavaScript-Datei, Bilder, Text, pdf-Dateien und anderen statischen Inhalten. Auch ist er teilweise für die Verwaltung der Zugriffsrechte zuständig. Wird jetzt vom webServer eine (in unserem Beispiel index.php) php-Datei angefordert, so übergibt er diese Anforderung an den php-Interpreter und wartet auf das Ergebnis des Programmablaufs. Man sieht dies in obiger Abbildung an den mit den Zahnrädern dargestellten Prozessen. Jeder Anfrage startet so einen “php-Prozess”. Sobald der php-Interpreter die Anwendung durchgearbeitet hat, übergibt er das ermittelte Ergebnis (eine Zahl, ein Text oder eine ganze webSeite) an den WebServer Apache, dieser liefert dann diese Daten (vielleicht mit anderen kombiniert) an den Anwender aus.

Syntax

Der php-Interpreter braucht ein paar grundlegende Voraussetzungen um die Datei verarbeiten zu können.

  • Die Endung der Datei muss php lauten.
  • Der Code muss zwischen <?php und ?> eingeschlossen sein.

Für den letzten Punkt gibt es zwei Varianten. Entweder Du erstellst eine “reine” php-Datei dann stehen die beiden Marker als erste und als letzte Zeile in der Datei. Oder Du mischst das Programm mit html-Daten, dann sieht es wie im folgenden Beispiel aus.

[php htmlscript=”true”]
<p>Dies ist ein frei erfundener Text<br />
und die aktuelle Zeit und das aktuelle Datum sind:<br />
<?php echo date("d.m.Y, H:i:s", time()); ?>.</p>
[/php]

Die zweite Variante ist nicht zu empfehlen, obwohl sie gerne praktiziert wird. Denn mit dieser Methode verliert man die strikte Trennung zwischen Programmlogik und Inhalt. Am Anfang ist dies natürlich praktisch, da man sich weniger Gedanken machen muss. Aber je größer die Applikation wird, desto schwieriger wird es, diese zu pflegen.

Aus Gründen der Vollständigkeit sei auch noch die Variante mit Short Open Tags erwähnt. Hier wird der php-Code in <? und ?> eingeschlossen. Es wird also das führende php weggelassen. Auch diese Variante funktioniert bei vielen webServern einwandfrei. Trotzdem ist es nur zu empfehlen, wenn man seine Anwendung auf bekannten webServern laufen lässt. Denn je nach Konfiguration kann die Kurzvariante vom Server-Administrator deaktiviert sein oder bei bestimmten Varianten von Anwendungen zu Fehlfunktionen führen.

php selbst hat auch einige Regeln:

  • Jede Zeile wird mit einem Semikolon (;) abgeschossen.
  • Variable und Funktionen
  • sind kontextsensitiv (sie unterscheiden zwischen Groß- und Kleinschreibung)
  • beginnen im mit einem Dollarzeichen ($)
  • nach dem $ sind nur Buchstaben oder der Unterstrich (_) erlaubt
  • dürfen nur die Zeichen A – Z, a – Z, _ und 0 – 9 enthalten
  • dürfen kein reserviertes (normalerweise ein Befehl von php) Wort sein

Dies war der erste Teil, die Einfühurng in php, in den nächsten Tagen beschäftigen wir uns mit Variablen und Konstanten.

Information

Diese Artikelserie ist mit dem Tag phpMySQL@Kurs versehen. Damit kannst Du schnell alle Teile des Kurses finden: https://www.guru-20.info/tag/phpMySQL@Kurs

Startseite bzw. Inhaltsverzeichnis des Kurses

Es wurden 10 Kommentare zu diesem Beitrag geschrieben.

  • kleiner_Baum

    Hi Clemens,
    tolle Idee und für mich genau richtig. Ich bin ja eher auf der Hardwareseite heimisch und traue allem, was sich nicht mit Hammer und Schraubendreher reparieren lässt, nicht so recht.
    Aber wer mit der Zeit gehen will, und so wie ich etwas mit dem Internet machen möchte, wird da einfach drum herum kommen.
    Derzeit beschränken sich meine PHP-Kenntnisse auf try-and-error sowie wild zusammengeklickte (Teil-)Beispiele.
    Ich habs schon mal mit nem Buch versucht, da bin ich aber nach den ersten 20 Seiten des Vorwortes dreimal eingepennt und habs in die Ecke geworfen.
    Wenn aber dein “PHP-Kurs” genauso verständlich wird, wie die anderen Anleitungen hier im Block, bin ich recht zuversichtlich, dass auch ich es verstehen werde. Freue mich schon auf den nächsten Teil.

  • Oliver Klee

    Also erst einmal finde ich es toll, das du dir die Mühe machst Grundlagen zu vermitteln! Ist ja ne gute Sache wenn man von dem was man bekommt, zurückgibt.

    Allerdings finde ich, dass das Schaubild welches du gewählt hast um die Kommunikation von Server/Client dazustellen nicht ganz zu deinem beschreibenden Text passt. (Bei Interpreter fehlt ein “r”) 🙂

    Nach dem der Interprete fertig ist, übergibt er das Resultat an den webServer

    Hier sollte man erläutern, das nicht der Webserver, also der apache,lighthttpd usw. nicht selbst das script interpretiert, sondern der php-interpreter. Und das Schaubild dahingehend ergänzen, i.e die Kommunikation zwischen Server Interpreter darstellen.

    Das php (Programm)Code nicht nur zwischen stehen darf, ist nicht vollständig. Es gibt da noch den sog. short open tag mit dem man nur “<?” schreiben muss. Wo man dann auch noch darauf hinweisen müsste, dass es in diesem zusammenhang auch Probleme mit dem xml Prolog geben kann, sofern vorhanden. Man kann short_open_tag allerdings auch in der ini auf “off” setzen.

    Finde man sollte wenn dann schon alle Möglichkeiten aufzählen. Gerade wenn man auch schon Kommentare in Richtung Trennung von Programmlogik und Inhalt macht, kann man auch auf obigen Punkt eingehen.

    Aber ansonsten schön und verständlich erklärt. Weiter so!

  • Guru 2.0 Autor

    Danke Oliver für Deine Tipps und Hinweise (natürlich auch Danke für das Lob). Ich habe Deine Tipps soweit es ging gleich eingearbeitet.

  • Flowsen

    Ja cool! Ich freue mich auf die Artikelserie. Auch gut: Endlich mal was nettes auf deutsch. 🙂 Vielen Dank.

    Gruß
    .-Flowsen-.

  • FoolMoon

    Du hast einen wirklich angenehmen Schreibstyle.
    Ich werde deine Serie mitverfolgen um mir einige Grundlagen anzueignen.
    Bis zum nächsten Mal =)

  • Oliver Klee

    Freut mich das Du meine Kommentare beherzigt hast! Was ich auch einen guten Ansatz finde: Du erstellst diesen Kurs, lax ausgedrückt “live”. Die Leser können den Entstehungsprozess mitverfolgen und Tipps etc. geben, die mit in den laufenden Prozess integriert werden.

    Ein Artikel in Richtung “Was unterscheidet php von anderen Programmiersprachen” bzw. “warum sollte man php lernen, anstatt python, perl oder “x” <- beliebige andere skriptsprache. Die Fragestellung ist mir in den verschiedensten Foren immer wieder aufgefallen.

    Gruß,
    Oliver

  • Guru 2.0 Autor

    @Oliver: Zum ersten Punkt ich plane auch die Beispiele live mit den Lesern zu erstellen. Um einfach eine genauere und praixsgerechte Lösung zu finden.
    Zum zweiten Punkt: Ich werde darüber nachdenken. Klingt eigentlich ganz wichtig und ist mir auch schön öfters untergekommen.

  • Oliver Klee

    Super Sache!
    Was mir persönlich bei einigen Kursen, die einen Einstieg in die Programmierung zum Ziel hatten, gefiel waren die leichten Übungsaufgaben am Anfang, die einen mit schnellen ersten Erfolgserlebnissen motiviert haben weiter zu machen und langsam aber sicher ein Gefühl für die Syntax gegeben haben.

    Falls da Interesse besteht kann ich dir ein paar Beispiel Aufgaben per Mail schicken.

  • Michael

    Auch wenn ich nicht alles verstehe, ist diese Einführung sehr anschaulich, um der Funktionsweise meines WordPress Blogs etwas näher zu kommen.

  • Internettipper

    [Bei Guru 2.0 bin ich auf einen PHP/mySQL – Anfängerkurs gestoßen und bin begeistert über die ersten Artikel, weil ich mich schon lange mit diesem Bereich beschäftigen will. Doch aller Anfang ist schwer, weshalb ich nur sehr langsam voran komme. Dieses Mal habe ich jedoch das Gefühl, auf die passende Einführung gestoßen zu sein.]

    Vielen Dank!

Blogheim.at Logo
Diese Website verwendet Cookies - nähere Informationen dazu finden Sie in unserer „Datenschutzerklärung“. Klicken Sie auf „Ich stimme zu“, um Cookies zu akzeptieren und unsere Webseite zu besuchen, oder klicken Sie auf „Cookie-Einstellungen“, um Ihre Cookies selbst zu verwalten.