Suche nach als

Intro:

Auf dieser Seite:

PHP ist eine Serverseitige Scriptsprache, ich kann so Daten und Dateien auf dem Server erstellen, bearbeiten und speichern! Die PHP-Scripts werden innerhalb eines HTML-Dokuments geschrieben, aber die Datei wird mit der Endung .php gespeichert, damit sie der Server erkennt.

PHP hat einen riesigen Funktionsumfang. Einen kleinen Überblick über die Sprachelemente gebe ich in der Datei syntax.php und in den folgenden Kapiteln. Die volle Ladung PHP kriege ich aber auf der PHP Site mit ihrer Funktionsreferenz www.php.net/manual/de/funcref.php

Server als Vorbedingung

PHP heisst ursprünglich Personal Home Page Tools - nun PHP Hypertext Preprocessor. Preprocessor heisst Vorbearbeiter.

PHP-Scripte sind dem Browser unverständlich und müssen vorher schon von einem PHP-Interpreter auf dem Server ausgeführt werden, dieser sendet danach HTML an den Browser! Ohne Server mit PHP-Interpreter drauf, stellt der Browser nix PHP dar!

Für Datenbankanbindungen braucht es zudem ein Datenbankprogramm (zum Beispiel 'MySQL') welches mit den PHP-Scripts angesprochen wird und wiederum auf einem eigenen Server läuft (Datenbankserver).

Server testen

phpinfo()

Um herauszufinden, ob PHP tatsächlich vom Web-Server unterstützt wird, legt man z.B. eine Datei PHP_info.php an mit dem Inhalt <?php phpinfo() ?> diese Datei spielt man auf den Server und ruft sie auf. Es werden Tabellen ausgegeben mit Konfigurations-Angaben. Bei meinem momentanen 'NextWeb' Host hat es die PHP Version 5.3.10 auf dem Server.

PHP info

Test-Server

XAMPP

Als Entwicklungsumgebung der PHP-Scripts (mein Laptop zum Code schreiben), muss auch ein eigener virtueller Server (zum Beispiel 'Apache') auf der Festplatte betrieben werden mit dem 'PHP-Interpreter' darauf. Ich habe zuhause XAMPP (von >> apachefriends.org) installiert, welches den Apache-server, MySQL, PHP und Perl alles in einem Packet verfügbar macht und sehr einfach zu installieren ist.
Alle PHP-Dateien müssen im ROOT Ordner 'htdocs' des virtuellen Servers abgespeichert werden (je nach Installationsort z.B.: C:\Programme\xampp\htdocs). Eine dortige index.html Datei wird vom Browser geöffnet, wenn schlicht und ergreiffend localhost in die Adresszeile des Browsers eingegeben wird!*
Die IP Adresse lautet HTTP://127.0.0.1 (Port für localhost). Die Tabellen die hier in der Testdatei erscheinen zeigen, dass ich eine etwas ältere PHP-Version, nämlich 5.3.8 habe.

Server starten

Server konfigurieren

Die Grundeinstellungen können sich von Host zu Host und Server zu Server ziemlich unterscheiden. Es ist strengstens zu empfehlen, die beiden Server (Entwicklungsumgebung und produktiver Server) möglichst gleich zu konfigurieren (mit Ausnahme der ERROR Anzeigen). Das bedeutet meisst, der Testserver wird dem produktiven Server angepasst, da beim Shared Hosting weniger Einstellungsmöglichkeiten gegeben werden. Die Apache Server Einstellungen werden in der Datei httpd.conf, die PHP Einstellungen werden in der Datei php.ini konfiguriert.

Xampp: Was ist wo?

Der Web-Server sollte so konfiguriert sein, dass nach index.html (etc.) auch index.php als Defaultseite geöffnet wird.

(**) Die ROOT-Ordner Angabe lässt sich auch konfigurieren, ich könnte den Ordner 'lehrling' auf dem Laufwerk 'D' als Server-Alias verwenden. Die Datei die geändert werden müsste heist 'C:\Programme\xampp\apache\conf\httpd.conf' dort nach 'DocumentRoot' suchen:
#DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.

Durch ein Admin-Formular des Hosts (Benutzerkonsole), kann ich wahrscheinlich einige lokale Konfigurationen für den PHP-Interpreter selber vornehmen, Z.B. dass ERROR Nachrichten nicht angezeigt werden sollen (um Hackern keine Tipps zu geben). Manche Hosts (mit Apache Server) erlauben einem auch .ht-Dateien anzulegen, in denen Apache-Konfigurationen vorgenommen werden können.

PHP Einbindung

Innerhalb einer HTML-Datei wird das Script im Body (unter Umständen noch vor den HTML-Code des Head) wie folgt eingefügt:

<?php ... ?>

<?php PHP-Anweisungen; ?> Dies ist die bevorzugte XML-Schreibweise.

<? PHP-Anweisungen; ?> (nur Fragezeichen genügen nicht in jeder Server-Konfiguration und sollte nicht mehr verwendet werden)
<script language = "php"> PHP-Anweisungen;</script> (ist die Script-Schreibweise, die ausser Mode ist)
<% Code; %> (bei der Verwendung von ASP - Active Server Pages - werden andere Tags verwendet - siehe php.ini)

Da die Dateiendung *.php lauten muss, um den Preprocessor anzusprechen, könnte auch gesagt werden, innerhalb einer PHP-Datei kann auch HTML stehen. PHP und HTML Teile können in einer Datei beliebig oft aufeinander folgen, ja gar ineinander verwoben werden. Es ist auch möglich, die ganze HTML Struktur durch PHP schreiben zu lassen:

<?php
  echo "<html>";
  echo "etc.";
  echo "</html>";
?>

Mehrere PHP-Scripts in der selben Datei gelten wie ein einzelnes Script, die Variablen des oberen Scripts stehen auch den unteren Script zur Verfügung:

<?php
  $name = "Marcel";
?>
<p>HTML Code ...</p>
<?php
  echo "$name";
?>

include("nav.php");

Dies gilt auch für externe Scripts, oder Scriptteile (oder nur eine Variable) in einer externen Datei, welche durch @include() eingebunden werden (das @ verhindert eine Fehlerausgabe):

<?php
  @include("nav.php");
?>

Im File, welches so eingebunden wurde, darf es wiederum beliebig HTML- und PHP- Tags haben.

PHP sicher nutzen

PHP wird (wie Perl) genutzt, um Daten (und Dateien) direkt auf dem Server auszulesen, zu bearbeiten, zusammenzutragen und dem Browser zu übergeben. Den Inhalt des PHP-Scripts sieht man nie, im Quellcode ist nur noch HTML ersichtlich, die Scripts können so nicht geklaut werden.

Zum Beispiel Daten aus Formulareingaben eines Online-Shops rufen auf dem Web-Server eine PHP-Script-Seite auf, die wird dem PHP-Interpreter übergeben, der Code prüft die Eingaben, und holt aus dem MySQL-Datenbank-Server die entsprechenden Preise und Abbildungen des ausgewählten Produktes und gibt sie als HTML an den Webserver zurück (parsen) und von diesem werden sie dann an den Browser geschickt, von jenem endlich dargestellt. Dadurch besteht die Möglichkeit bei jedem Zwischenschritt im PHP-Script Kontrollmassnahmen zu ergreiffen. Siehe: Sicherheit


Valid XHTML 1.0 Check den Code.

Intro: >> <<
Ich bin hier: > PHP Lehrling >> Intro:
 
HTML · CSS · JavaScript · PHP und MySQL · Andere
Letzter Update: 26.10.2016