Mittels PHP kann man ganz einfach dynamische Websites erstellen. PHP ist sehr umfangreich und es sind nahezu keine Grenzen gesetzt. Nachfolgend eine erste Einführung.
Einleitung
PHP steht für “Personal Hypertext Preprocessor”. Es handelt sich dabei um eine einfache aber mächtige, serverseitige Programmiersprache zur Erstellung von dynamischen Websites. Der Webserver baut anhand des PHP-Skriptes eine HTML-Seite zusammen und schickt diese dann an den Client-Browser. Der Besucher kann so nur den resultierenden Quellcode einsehen, nie das eigentliche Skript selbst.
Die Syntax ähnelt der von der Programmiersprache C++, ist allerdings wesentlich unkomplizierter. Seit den Anfängen 1994 wuchs diese Programmiersprache in unglaublicher Geschwindigkeit. Laut einer aktuellen Umfrage sei heute bei über 24 Prozent der Websites PHP im Einsatz.
Wollen Sie auf Ihrer Homepage PHP-Skripte einsetzen, muss dies Ihr Hoster unterstützen. Informieren Sie sich auch über eventuelle Einschränkungen und Resourcen-Zuweisungen.
Erste Schritte
PHP wird direkt in den HTML-Code eingebettet, Sie können also Ihren bisherigen HTML-Editor oder auch Text-Editor problemlos weiterbenutzen. Dateien, die PHP-Code enthalten werden in der Regel mit der Dateiendung “.php” abgespeichert. Wollen Sie nun in Ihrer vorhandenen HTML-Datei PHP-Befehle nutzen, müssen Sie zunächst den PHP-Bereich definieren. Dabei gibt es vier Möglichkeiten:
<script language=”php”> … </script>
<?php … ?>
<? … ?>
<% … %>
Die zweite Schreibweise ist zu bevorzugen. Die letzten beiden funktionieren nur, wenn sie in der Konfiguration des Webservers aktiviert wurden.
Die Punkte markieren den Bereich, in dem Sie PHP-Befehle nutzen können. Einzelne Anweisungen werden durch ein Semikolon (;) abgeschlossen. Variablen müssen nicht deklariert also keinem Variablentyp zugeordnet werden. Sie werden dargestellt durch ein Dollar-Zeichen ($) gefolgt vom Namen der Variable. Eine Ausgabe auf den Bildschirm erfolgt dann zum Beispiel mit der Funktion print();
<?php
$text = “Ich bin ein String.”;
print “Hallo Welt,<br>Meine erste Seite mit PHP!”;
print “$text”;
?>
Fehlermeldungen
Sollte es beim Aufruf Ihrer PHP-Datei zu einem Fehler kommen, wird dieser auf dem Bildschirm ausgegeben und unter Umständen das Skript an dieser Stelle abgebrochen.
Die Fehler werden in englischer Sprache und unter Angabe der Zeilennummer ausgegeben. In der Regel findet man so relativ schnell den Fehler in der Datei.
Haben Sie zum Beispiel ein Semikolon im Skript vergessen, schauen Sie nicht in der angegebenen Zeile sondern in der darüber nach.
Kommentare
Kommentieren Sie Ihre PHP-Skripte. So behalten Sie immer den Überblick und der Code ist für Sie oder einen anderen Programmierer später noch verständlich.
// Einzelner Kommentar
/* Kommentare auch über
mehrere Zeilen */
Einfache Rechenoperationen
Rechenoperationen sind Vorschriften zur Verknüpfung von Zahlen.
“+” – Addition
“-” – Subtraktion
“*” – Multiplikation
“/” – Division
“.” – Verknüpft Strings ($x.$y;)
“++” – Erhöht Variable um eins ($x++;)
“–” – Erniedrigt Variable um eins ($x–;)
<?php
$a = 5;
$b = 24;
$z = $a * $b;
print (“Ergebnis: $z”);
?>
Fallunterscheidungen
Fallunterscheidungen bestehen aus Bedingungen und einem Block, welcher abgearbeitet wird wenn die Bedingung zutrifft, allerdings nur einmal. Bei der if-Fallunterscheidung kann man mehrere Bedingungen mit AND oder OR verbinden. Trifft die Bedingung nicht zu werden die Anweisungen die dann ausgeführt werden sollen mit else angegeben.
<?php
$i=1;
if ($i < 50) { print "$i ist kleiner als 50!"; }
if ($i >= 50 AND $i < 100) { print "$i ist grösser oder gleich 50 UND kleiner 100"); }
else { print "$i ist grösser oder gleich 100"; }
?>
Weitere Vergleichsmöglichkeiten:
$i==10: Ist $i gleich 10?
$i!=10: Ist $i ungleich 10?
$i>=10: Ist $i größer oder gleich 10?
$i<=10: Ist $i kleiner oder gleich 10?
Schleifen
Schleifen bestehen aus einer Bedingung und ebenfalls einem Block der abgearbeitet wird solange die Bedingung erfüllt ist.
Es gibt verschiedene Arten von Schleifen, wir betrachten zunächst einmal die for-Schleife:
<?php
for ($i=1; $i < 100; $i++)
{ print "Diese Schleife läuft zum $i ten mal durch!"; }
?>
Der for-Befehl besteht aus drei Ausdrücken. Mit dem 1. Ausdruck wird die Schleife initialisiert, d.h. normalerweise wird die Variable, die die Schleifendurchläufe zählt, auf den Anfangswert gesetzt.
Der 2. Ausdruck gibt die Abbruchbedingung an und im 3. Ausdruck wird die Variable, die die Schleifendurchläufe zählt, erhöht bzw. erniedrigt.
Links zum Thema:
PHP-Handbuch von php.net
Online-Befehlsreferenz
Diese Artikel könnte Sie interessieren:
PHP-Einführung: Kontrollstrukturen
Lokalen Webserver einrichten
HTML-Einführung
(AM | 15.06.02)



Hi,
für meine eine Homepage (www.astronomie24.info) verwende ich für die Navigation PHP.
Alle Seiten, die zuvor die Endung HTM hatten, hab ich nun zu PHP umbenannt.
In diesen PHP-Seiten hab ich oben folgendes geschrieben:
<?php
require (“vorlage_1.php”);
?>
In der Datei vorlage_1.php ist die Navigation enthalten, die er beim Anzeigen der Seite automatisch einbinden soll.
Dies tut er auch.
Nun die Frage: Ist das richtig? Bei einem Freund zeigt er unter Netscape den Quellcode an, anstatt die Seite wie eine normale HTML-Seite zu behandeln!
Was hab ich falsch gemacht?
MfG,
Friedrich Fröhlich
Grundsätzlich wird PHP serverseitig ausgeführt. Der Client, also der Besucher, bekommt nur den Quelltext, den der Server zusammengebaut hat. Es sollte also völlig egal mit welchem Browser die Seite angesurft wird.
Eventuell hilft Ihnen folgende Seite weiter:
http://www.selfphp.info/funktionsreferenz/kontroll_mechanismen/require.php
MfG Andreas Mauf
Ich denke das Problem ist ein anderes. Wenn ich das richtig verstanden habe scheint der Server das PHP icht richtig auszuführen.
Dann wird der Quelltext wie ein gewöhnlicher Text behandelt und bei Nutzer als solcher ausgegeben.
Wichtig ist, darauf zu achten, dass der PHP-Code immer mit <? … ?> eingeschlossen wird und die Dateiendung “.php” oder “.php3″ heißt. Aber dies scheint ja auch der Fall zu sein.
Dies ist alles vom Webserver vorgegeben, daher sollte man solche Details beim Hoster erfragen können.
Unterschiede bei den Browser können aufgrund von PHP eigentlich nicht auftreten, das PHP serverseitig ausgeführt wird, wie schon gesagt. Es muss an etwas anderem liegen.
Letzte Änderung von Christian Boris Schmidt am 22.09.02, 13:41.
Vielen Dank für die vielen Meldungen!
Bei mir erscheint im InternetExplorer die Seiten richtig.
Bei meinem Vater im Betrieb gibt es manchmal Probleme.
Die Sicherheitseinstellungen im Netscape (3.x) wurde auf die höchste Stufe gestellt. Vielleicht liegt es ja daran.
In den älteren Versionen von Netscape kann es vielleicht zu Problemen führen.
MfG,
Friedrich Fröhlich
Also ich kann mir nicht vorstellen, dass es am Browser liegt. Einzige Ausnahme wäre eine fehlerhafte HTML-Ausgabe des PHP-Scripts. Netscape, vor allem in älteren Versionen, ist da gern mal “zickig”. :-8
Ich persönlich bevorzuge eh den Internet Explorer…(L)
Hallo,
ich bin (fast) derselben Meinung wie Christian. PHP ist eine serverseitige Anwendung. Das bedeutet, dass der Server (auf dem die Internetseiten liegen) das PHP Script verarbeitet und dann den formatierten Output (die eigentliche HTML-Source) an den Client (den Browser) schickt.
Damit der Server die PHP-Scripte verarbeiten kann, muss auf ihm eine zusätzliche Anwendung laufen, die es dann letztendlich verarbeiten kann. Nicht auf allen Servern von Hostern läuft diese Anwendung, sprich nicht alle Hoster bieten PHP bzw. SSI an.
Das nächste Problem könnte eventuell die Konfiguration der StartTags in der php.ini sein. StartTags von PHP sollten aufgrund ihrer Kompatibilität auf anderskonfigurierten Servern immer mit <?php und mit ?> enden (nicht mit <? anfangen und mit ?> enden).
Eine weitere Fehlerquelle könnte u.a. die eingesetzte PHP-Version auf dem Server sein. Dort hilft nur eine Anfrage an den Hoster.
Noch eine mögliche Ursache könnte sein, dass die PHP-Source Befehle enthält, die nur in neueren PHP-Versionen funktionieren. Man sollte statts den *.php3 – Endungen lieber *.php wählen.
MfG
René
P.S.: @Christian
Endlich mal einer, der sagt, dass er zum MSIE steht! ;-)
<< Bei einem Freund zeigt er unter Netscape den Quellcode an, anstatt die Seite wie eine normale HTML-Seite zu behandeln! >>
<< Bei mir erscheint im InternetExplorer die Seiten richtig.
Bei meinem Vater im Betrieb gibt es manchmal Probleme. >>
Wenn ich das richtig verstanden habe ist die Ausgabe der Seite bei Netscape und IE verschieden.
Wie gesagt kann dies eigentlich nicht vorkommen, da der Browser lediglich HTML-Quelltext bekommt. Vermutlich liegt es wirklich an den Einstellungen des Netscape-Browsers. Funktionieren denn andere PHP-Seiten mit diesem Browser, z.B. http://all4homepages.de ?
Installier doch mal eine aktuelle Version von Netscape. Version 3.x erscheint mit sehr alt. ;-)
PS: MSIE (L)
Letzte Änderung von Andreas Mauf am 21.09.02, 18:59.
Es kann meiner Meinung nach nicht an PHP liegen, wenn die beiden Browser den HTML-Code verschieden interpretieren. Ich könnte mir höchstens vorstellen, das Netscape 3 (sehr alt!) nichts mit der Dateiendung “.php” bzw. “.php3″ anfangen kann.
Ich denke es ist alles gesagt worden… nun warten wir auf Friedrich. ;-)
Für alle “Netscape-Liebhaber” – Meine Meinung zu Netscape:
http://all4homepages.de/?rubrik=magazin&thema=netscape ;D
Hallo,
für die vielen Tips bedanke ich mich!
Leider ist der Rechner bei meinem Vater so alt, dass keine neuere Version verwendet werden kann (HDD, …) :-(.
Da fast keiner mehr die Version 3.0 verwendet, dürfte es keine Probleme bei den neueren Browsern geben.
MfG,
Friedrich Fröhlich
Ja, ich nehme ganz stark an, dass der 3er Netscape die Dateiendung “.php” nicht verarbeiten kann. Er müste sie einfach wie eine HTML-Datei verwerten. Aber “früher” gab es das halt noch nicht…;D
Hallo,
hab noch eine Frage!
Einige Seiten auf meiner Homepage (im PHP-Format) sollen nur für bestimmte Surfer sein. Also hab ich einen Passwortschutz eingerichtet.
Wenn das Passwort = “???” ist, soll er weiter machen.
Bei den alten Browser würde das dann ja im Browser erscheinen! Jeder wüsste somit das Passwort!
Gibt es da eine sichere Möglichkeit? Außer den .HT….-Dateien?
MfG,
Friedrich Fröhlich
Ich würde das Passwort einfach in eine andere Datei auslagern. Dann kann man diese Datei per PHP öffnen und das Passwort auslesen.
Noch besser wäre es, wenn dann noch die Datei in der das Passwort gespeichert wird per htaccess für den Zugriff von außen gesperrt ist. Mehr dazu unter:
http://all4homepages.de/?rubrik=knowhow&thema=htaccess
So kann man es auch nicht durch direkten Aufruf der Passwortdatei herausfinden! ;-)
Letzte Änderung von Christian Boris Schmidt am 02.10.02, 16:12.
Zu eurer PHP-Einführung:
Der Tag <% … %> ist bei fast keinem Server aktiviert. Deshalb würde ich das entfernen. Das irritiert Anfänger nur…
MfG Markus
Vielen Dank für Ihren Hinweis. Der besagte Absatz wurde entsprechend ergänzt.
>>
Wollen Sie nun in Ihrer vorhandenen HTML-Datei PHP-Befehle nutzen, müssen Sie zunächst den PHP-Bereich definieren. Dabei gibt es vier Möglichkeiten:
<script language=”php”> … </script>
<?php … ?>
<? … ?>
<% … %>
Die zweite Schreibweise ist zu bevorzugen. Die letzten beiden funktionieren nur, wenn sie in der Konfiguration des Webservers aktiviert wurden.
<<
php ist echt klasse. man kann fast alles damit programmieren. ich jedoch als fast anfänger (ich arbeite seit ca. 3 jahren mit html und steige nun auf php um) bräuchte ein php-kontaktformular für meine seite. die kostenlosen server machen irgendwie alle z.z. zu. wird es bald so ein kontaktformular auf dieser (einmaligen) internetseite geben, oder gibt es eine adresse zu einem server, der auch solche formulare anbietet?
mfg
thorsten
@Thorsten Rückert:
Danke für Ihr Lob.
Sie können gerne unseren Formmailer verwenden, den wir kostenlos und völlig werbefrei als Homepage-Tool anbieten.
So sparen Sie sich den Programmieraufwand, die Pflege, die Weiterentwicklung und den Traffic!
Weitere Informationen finden Sie unter:
http://tools.all4homepages.de
Letzte Änderung von Andreas Mauf am 02.12.02, 15:35.
Welches Lob?!? Hab ich da was überlesen? ;D
So weit ich weiß werden die <% %> -Tags auch bei ASP genutzt……….. ;-)
mfG,
Simon
Wie sieht es eigentlich mit der Indizierung von .php Seiten durch die Suchmaschinen aus?
In meine (bisher statischen) Webseiten will ich eine php/MySQL basierte Banner-Verwaltung einbauen. Damit die Skripts ausgeführt werden muss ich ja alle Seiten von .htm in .php umbenennen. Meine Fragen:
1.) Werden die Seiten dann trotzdem von den Spidern indexiert?
2.) Macht eine erneute Anmeldung Sinn?
3.) Was ist, wenn ein Surfer nach der Änderung nun seinen alten Bookmark beliebigeseite.htm aufruft? Wie erreiche ich, dass er dann automatisch beliebigeseite.php statt des Error404 zu sehen bekommt (für beide Versionen ist kein Platz auf dem Server)
danke für Tips, Rainer
1) Ja, solltest du Parameter übergeben, musst du diese “verstecken” (aus artikel.php?id=12 machst du artikel.php/12/, da die zweite Version auch indiziert wird
2) Eigentlich nicht …
3) .htaccess-Datei bzw. als Error404-Datei ungefähr folgendes nehmen (ungetestet)
<?php
$datei = $REQUEST_URI;
$datei = substr($datei, 0, strlen($datei)-5); //.html entfernen
if(@(!($dat = file($datei.’.php’))))
//404-Fehjlermeldung
echo “404″;
else
header(“Location: “.$datei.”.php”);
?>
@CBS:
>>PHP steht für “Personal Hypertext Preprocessor”.
Soviel ich weiß steht PHP für “PHP: Hypertext Preprocessor”. Früher nannte Rasmus Lerdorf seine Entwicklung “Personal HomePage Tools”.:-)
Also den Artikel hab ich geschrieben! Über die Abkürzung PHP gibt es verschiedene Ausschreibungen. Damals viel die Entscheidung eben auf im Artikel genannte, die meines Erachtens am meisten Sinn macht. ;-)
Sinn macht?
Ist wirklich kein Argumnet ;-) <== bitte nicht übersehen
Klar ist PHP = (heute) ‘PHP Hypertext Preprocessor’ ein semantischer Oberschwachsinn, denn in der Erklärung der Abkürzung steckt selbige Abkürzung wieder drin. Dort bedeutet PHP dann aber wohl das alte “Personal Home Page”.
Wenn Du mal eine sinnvolle Abkürzung sehen willst, google mal nach der Bedeutung von TWAIN *lol*
(da eh’ OT *oh-CBS-vergib-mir* hier die angebliche Auflösung:
TWAIN: Technology Without An Interesting Name
soviel zum Sinnvollen des IT-AküFis)
Jaja Twain, Technology Without An Important Name. Aber kuriose Abkürzungen findet man noch mehr… Siehe Gnu (Gnu’s not Unix), Yast(Yet Another Setup Tool) und weitere Abkürzungen, gerade im Linux-Bereich. (Hab mal gehört Linux heisse Linux is not Unix, werd ich mir aber nochmal vom Torwald bestätigen lassen:-)
Grusz,