1
0
mirror of https://github.com/php/doc-de.git synced 2026-03-24 07:12:15 +01:00
Files
archived-doc-de/chapters/tutorial.xml
Christoph Michael Becker 5267953d18 Sync with EN
git-svn-id: https://svn.php.net/repository/phpdoc/de/trunk@341308 c90b9560-bf6c-de11-be94-00142212c4b1
2016-12-06 13:38:33 +00:00

588 lines
24 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: ca7fbbaddcf091178e666a6586f4181d6e429b4d Maintainer: cmb Status: ready -->
<chapter xml:id="tutorial" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<info><title>Ein kleines Tutorial</title></info>
<para>
Auf diesen Seiten möchten wir Ihnen die Grundlagen von PHP in einem
kleinen Tutorial vorstellen. Dieser Text behandelt nur das Erstellen
von dynamischen Web-Seiten, obwohl PHP natürlich nicht nur dafür
geeignet ist. Weitere Informationen finden Sie im Abschnitt
<link linkend="intro-whatcando">Was kann PHP?</link>.
</para>
<para>
Mit PHP erweiterte Web-Seiten werden wie normale HTML-Seiten
behandelt. Sie können sie genauso wie normale HTML-Seiten erstellen
und bearbeiten.
</para>
<section xml:id="tutorial.requirements">
<info><title>Was brauche ich?</title></info>
<para>
In diesem Tutorial gehen wir davon aus, dass auf Ihrem Server
die PHP-Unterstützung aktiviert ist und dass die Dateiendung
<filename>.php</filename> PHP zugeordnet ist. Auf den meisten
Servern ist dies die Standardeinstellung für PHP-Dateien, aber
fragen Sie bitte Ihren Server-Administrator, um sicherzugehen.
Wenn Ihr Server PHP unterstützt, müssen Sie nichts machen.
Erstellen Sie einfach Ihre <filename>.php</filename>-Dateien
und legen Sie diese in Ihr Web-Verzeichnis - der Server wird
sie dann für Sie parsen. Sie müssen nichts kompilieren und
auch keine Zusatz-Tools installieren. Stellen Sie sich diese
PHP-erweiterten Dateien wie normale HTML-Seiten mit einer
ganzen Familie von "magischen" Tags, die Sie verschiedenste
Dinge tun lassen, vor.
</para>
<para>
Angenommen, Sie möchten Bandbreite sparen und lokal entwickeln.
In diesem Fall müssen Sie einen Webserver wie z.B.
<link xlink:href="&url.apache;">Apache</link> und natürlich
<link xlink:href="&url.php.downloads;">PHP</link> installieren.
Sehr empfehlenswert ist auch die Installation einer Datenbank
wie z.B. <link xlink:href="&url.mysql.docs;">MySQL</link>.
</para>
<para>
Sie können diese Programme entweder eins nach dem anderen selbst
installieren oder den folgenden einfacheren Weg gehen. Unser
Handbuch bietet ausführliche <link
linkend="install">Installationsanweisungen für PHP</link> (dabei
gehen wir davon aus, dass Sie schon einen Webserver installiert
haben). Falls Sie Probleme bei der Installation von PHP haben,
dann empfehlen wir Ihnen, dass Sie Ihre Fragen auf unserer
<link
xlink:href="&url.php.mailing-lists;">Installations-Mailingliste</link>
stellen. Noch einfacher ist es, <link
xlink:href="&url.installkits;">vorkonfigurierte Pakete</link> für Ihr
Betriebssystem zu benutzen, die alle oben genannten Programme mit
einigen wenigen Mausklicks installieren. Es ist ziemlich einfach,
einen Webserver mit PHP-Unterstützung auf jedem Betriebssystem,
wie MacOSX, Linux oder Windows, aufzusetzen. Unter Linux sind
<link xlink:href="&url.rpmfind;">rpmfind</link> und
<link xlink:href="&url.rpmfind.pbone;">PBone</link> hilfreich, wenn
Sie RPM-Pakete suchen. Wenn Sie Pakete für Debian suchen, dann
besuchen Sie bitte <link xlink:href="&url.apt-get;">apt-get</link>.
</para>
</section>
<section xml:id="tutorial.firstpage">
<title>Ihre erste PHP-erweiterte Seite</title>
<para>
Erstellen Sie eine Datei mit dem Namen <filename>hallo.php</filename>
und speichern Sie diese im Root-Verzeichnis Ihres Webservers
(<varname>DOCUMENT_ROOT</varname>) mit dem folgenden Inhalt:
</para>
<para>
<example>
<title>Unser erstes PHP-Skript: <filename>hallo.php</filename></title>
<programlisting role="php">
<![CDATA[
<html>
<head>
<title>PHP-Test</title>
</head>
<body>
<?php echo '<p>Hallo Welt</p>'; ?>
</body>
</html>
]]>
</programlisting>
<simpara>
Benutzen Sie Ihren Browser, um die Datei über den Webserver-URL
aufzurufen. Der URL muss mit <literal>/hallo.php</literal> enden. Wenn Sie lokal
entwickeln, sieht der URL z.B. so aus:
<literal>http://localhost/hallo.php</literal> oder
<literal>http://127.0.0.1/hallo.php</literal> - andere Adressen
sind aber, abhängig vom Webserver, auch möglich.
Wenn Sie alles korrekt installiert haben, wird die Datei von
PHP geparst und Sie werden die folgende Ausgabe in Ihrem
Browser sehen:
</simpara>
<screen role="html">
<![CDATA[
<html>
<head>
<title>PHP-Test</title>
</head>
<body>
<p>Hallo Welt</p>
</body>
</html>
]]>
</screen>
</example>
</para>
<para>
Das Beispiel ist extrem einfach und natürlich brauchen Sie PHP nicht,
um eine Seite wie diese zu erstellen. Denn es macht nicht mehr, als
<literal>Hallo Welt</literal> mit der
<function>echo</function>-Anweisung von PHP auszugeben. Bitte
beachten Sie, dass die Datei <emphasis>nicht ausführbar</emphasis>
sein muss. Der Server erkennt anhand der Dateiendung ".php", dass
sie durch PHP interpretiert werden muss. Stellen Sie sich eine
normale HTML-Datei vor, die eine Menge von speziellen Tags enthält,
mit denen Sie einige interessante Dinge tun können.
</para>
<para>
Wenn Sie dieses Beispiel ausprobiert haben und Sie aber keine Ausgabe
erhalten haben oder zum Download aufgefordert worden sind oder die
komplette Datei als Text erhalten haben, dann ist es sehr wahrscheinlich,
dass auf Ihrem Server PHP nicht aktiviert oder falsch konfiguriert ist.
Fragen Sie in diesem
Fall Ihren Administrator und weisen Sie ihn auf das
<link linkend="install">Installations-Kapitel</link> hin.
Wenn Sie lokal entwickeln, lesen Sie bitte das Installations-Kapitel,
um festzustellen, ob alles richtig konfiguriert wurde. Stellen Sie
sicher, dass Sie die Datei über das HTTP-Protokoll aufrufen können.
Wenn Sie die Datei direkt aus Ihrem Dateisystem aufrufen, wird sie
nicht durch PHP geparst. Sollten Ihre Probleme nach Lesen dieses
Kapitels immer noch bestehen, zögern Sie nicht und nutzen Sie eines
der vielen <link xlink:href="&url.php.support;">Support</link>-Angebote.
</para>
<para>
Der wichtigste Punkt im Beispiel ist, Ihnen das spezielle PHP Tag-Format
zu zeigen. Im Beispiel wurde <literal>&lt;?php</literal> verwendet,
um den Beginn eines PHP-Tags zu kennzeichnen. Anschließend folgte
die PHP-Anweisung. Mit dem schließenden Tag, <literal>?&gt;</literal>,
wurde der PHP-Modus wieder verlassen. Sie können an jeder Stelle und so
oft Sie wollen, in den PHP-Modus wechseln und ihn wieder verlassen. Für
weitere Details lesen Sie bitte den Abschnitt zu den <link
linkend="language.basic-syntax">Grundlagen der Syntax</link> von PHP.
</para>
<note>
<title>Anmerkungen zu Zeilenwechseln</title>
<para>
Zeilenwechsel sind in HTML nur von geringer Bedeutung, trotzdem
ist es sinnvoll HTML Code durch Zeilenwechsel zu formatieren
um die Lesbarkeit zu erhöhen. Ein Zeilenwechsel, der direkt auf
ein schließendes <literal>?>&gt;</literal> folgt, wird von PHP
bei der Ausgabe entfernt. Dies ist äußerst nützlich, wenn Sie
viele PHP-Blöcke einfügen oder Dateien includieren, die keine
Ausgabe erzeugen sollen. Auf der anderen Seite kann es aber auch
verwirrend sein. Sie können einen Zeilenwechsel erzwingen, indem
Sie entweder ein zusätzliches Leerzeichen hinter
<literal>?&gt;</literal> einfügen oder explizit mit echo oder
print ein Zeilenwechselzeichen am Ende Ihres Codes ausgeben.
</para>
</note>
<note>
<title>Anmerkung zu Text-Editoren</title>
<para>
Es gibt eine ganze Reihe von Text-Editoren und Integrated Development
Environments (IDEs), mit denen Sie Ihre PHP-Dateien erstellen, bearbeiten
und managen können. Eine Liste solcher Programme finden Sie hier:
<link xlink:href="&url.phpeditorlist;">PHP Editors List</link>.
Wenn Sie einen Editor vorschlagen möchten, besuchen Sie bitte die genannte
Seite und bitten Sie den Betreiber der Seite, dass er den Editor
der Liste hinzufügt.
Wir empfehlen Ihnen einen Editor zu benutzen, der Syntax-Highlighting
bietet.
</para>
</note>
<note>
<title>Anmerkung zu Textverarbeitungsprogrammen</title>
<para>
Textverarbeitungsprogramme wie StarOffice Writer, Microsoft Word und Abiword sind
keine gute Wahl, um PHP-Dateien zu bearbeiten.
Wenn Sie eines dieser Programme für dieses Test-Skript nutzen möchten,
dann müssen Sie sicherstellen, dass die Datei als <emphasis>"Nur
Text"</emphasis>-Datei
gespeichert wird, da PHP sonst das Skript nicht lesen und nicht
ausführen kann.
</para>
</note>
<note>
<title>Anmerkung zu Notepad, dem Windows-Standard-Editor</title>
<para>
Wenn Sie Ihre PHP-Skripte mit Notepad schreiben, müssen Sie sicherstellen,
dass Ihre Dateien mit der Endung <filename>.php</filename> gespeichert
werden. (Notepad fügt die Endung <filename>.txt</filename> automatisch
an den Dateinamen an, wenn Sie das nicht mit einem der folgenden Schritte
verhindern.)
Wenn Sie die Datei speichern und einen Namen für die Datei eingeben sollen,
dann setzen Sie den Dateinamen in Anführungszeichen (z.B.
"<filename>hallo.php</filename>").
Alternativ können Sie auch im "Datei speichern"-Fenster in der Drop-Down-Liste
"Dateityp" die Einstellung auf "Alle Dateien" ändern. Sie können dann den
Dateinamen ohne Anführungszeichen eingeben.
</para>
</note>
<para>
Nachdem Sie jetzt erfolgreich ein einfaches, funktionierendes PHP-Skript
geschrieben haben, wird es Zeit, das berühmteste PHP-Skript zu schreiben.
Rufen Sie die Funktion <function>phpinfo</function> auf und Sie bekommen
viele nützliche Informationen über Ihr System und Ihre Installation wie
z.B. die verfügbaren <link
linkend="language.variables.predefined">vordefinierten Variablen</link>,
die geladenen PHP-Module und die <link
linkend="configuration">Konfigurations</link>-Einstellungen. Nehmen Sie
sich etwas Zeit und schauen Sie sich diese wichtigen Informationen an.
</para>
<para>
<example>
<title>Anzeigen von Systeminformationen mit PHP</title>
<programlisting role="php">
<![CDATA[
<?php phpinfo(); ?>
]]>
</programlisting>
</example>
</para>
</section>
<section xml:id="tutorial.useful">
<title>Etwas nützliches</title>
<para>
Kommen wir nun zu einem etwas nützlicheren Beispiel. Wir wollen prüfen,
welchen Browser der Besucher benutzt.
Um das zu tun, prüfen wir den "user agent"-String, den der Browser
als Teil seiner HTTP-Anforderung sendet. Diese Information ist in einer
<link linkend="language.variables">Variablen</link> abgelegt. In PHP
beginnen Variablen immer mit einem Dollar-Zeichen. Die Variable, die
uns jetzt interessiert, ist <varname>$_SERVER['HTTP_USER_AGENT']</varname>.
</para>
<note>
<para>
<varname>$_SERVER</varname> ist eine speziell reservierte PHP-Variable,
die alle Informationen über den Webserver enthält. Diese Variable wird
auch als superglobal bezeichnet. Mehr Informationen darüber finden Sie auf der
Manual-Seite über <link
linkend="language.variables.superglobals">Superglobals</link>.
Diese speziellen Variablen wurden in PHP
<link xlink:href="&url.php.release4.1.0;">4.1.0</link> eingeführt.
Vorher wurden stattdessen die älteren <varname>$HTTP_*_VARS</varname>-Arrays
benutzt, also z.B. <varname>$HTTP_SERVER_VARS</varname>.
Beginnend mit PHP 5.4.0 wurden diese älteren Variablen entfernt.
(Beachten Sie auch die Seite <link linkend="tutorial.oldcode">Alten Code
mit neuen PHP-Versionen benutzen</link>.)
</para>
</note>
<para>
Um die Variable auszugeben, schreiben Sie einfach:
</para>
<para>
<example>
<title>Variable ausgeben (Array-Element)</title>
<programlisting role="php">
<![CDATA[
<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>
]]>
</programlisting>
<para>
Die Ausgabe dieses Beispiels könnte so aussehen:
<screen role="html">
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
</screen>
</para>
</example>
</para>
<para>
Es gibt viele <link linkend="language.types">Typen</link> von
Variablen. Im obigen Beispiel haben wir ein <link
linkend="language.types.array">Array</link>-Element ausgegeben.
Arrays können sehr nützlich sein.
</para>
<para>
<varname>$_SERVER</varname> ist nur eine von vielen Variablen, die
Ihnen automatisch von PHP zur Verfügung gestellt werden. Eine Liste
finden Sie auf der Seite <link linkend="reserved.variables">Reservierte
Variablen</link> im Manual. Eine vollständige Liste können Sie auch
bekommen, wenn Sie sich die Ausgabe der
<function>phpinfo</function>-Funktion ansehen, die im Beispiel des
vorigen Abschnitts benutzt wurde.
</para>
<para>
Sie können mehrere PHP-Anweisungen innerhalb eines PHP-Tags
platzieren und so kleine Code-Blöcke schreiben, die mehr
als nur eine Ausgabe mit <function>echo</function> enthalten.
Wenn wir zum Beispiel prüfen möchten, ob es sich beim Browser
des Besuchers um den Internet Explorer handelt, können wir
folgenden Code benutzen:
</para>
<para>
<example>
<title>Beispiel, das <link
linkend="language.control-structures">Kontrollstrukturen</link> und
<link linkend="language.functions">Funktionen</link> benutzt</title>
<programlisting role="php">
<![CDATA[
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
echo "Sie benutzen Microsofts Internet Explorer.<br />";
}
?>
]]>
</programlisting>
<para>
Die Ausgabe dieses Skripts könnte so aussehen:
</para>
<screen role="html">
<![CDATA[
Sie benutzen Microsofts Internet Explorer.<br />
]]>
</screen>
</example>
</para>
<para>
Hier haben wir Ihnen eine ganze Reihe von neuen Konzepten vorgestellt.
Wir haben hier zuerst eine <link
linkend="control-structures.if">if</link>-Anweisung.
Wenn Sie mit der Grundlagen-Syntax der Programmiersprache C
vertraut sind, sollte Ihnen dies logisch erscheinen. Andernfalls
sollten Sie sich ein Buch mit einer
PHP-Einführung besorgen und die ersten Kapitel lesen. Sie
können natürlich auch in die <link
linkend="langref">Sprachreferenz</link> des Manuals schauen.
</para>
<para>
Das zweite hier vorgestellte Konzept ist der Aufruf der Funktion
<function>strpos</function>. <function>strpos</function> ist eine
in PHP eingebaute Funktion, die nach einem String in einem anderen
String sucht. In diesem Fall suchen wir nach <literal>'MSIE'</literal>
(die so genannte Nadel, engl. needle) in
<varname>$_SERVER['HTTP_USER_AGENT']</varname> (der so genannte
Heuhaufen, engl. haystack). Wenn die Nadel im Heuhaufen gefunden
wird, gibt die Funktion die Position der Nadel relativ zum Start
des Heuhaufens zurück. Andernfalls wird &false; zurückgegeben.
Wenn nicht &false; zurückgeben wird, wird die <link
linkend="control-structures.if">if</link>-Anweisung
zu &true; ausgewertet und der Code innerhalb der geschweiften Klammern
wird ausgeführt. Andernfalls wird der Code innerhalb der Klammern
nicht ausgeführt. Probieren Sie weitere
ähnliche Beispiele mit <link linkend="control-structures.if">if</link>,
<link linkend="control-structures.else">else</link> und anderen
Funktionen wie <function>strtoupper</function> oder
<function>strlen</function>. Jede dieser Manual-Seiten enthält
weitere Beispiele. Wenn Sie unsicher sind, wie die Funktionen
benutzt werden, lesen Sie die Handbuch-Seite <link
linkend="about.prototypes">Wie sind Funktionsdefinitionen
(Prototypen) zu lesen?</link> und den Abschnitt zu den
<link linkend="language.functions">PHP-Funktionen</link>.
</para>
<para>
Wir können jetzt einen Schritt weitergehen und sehen, wie Sie innerhalb
eines PHP-Blocks den PHP-Modus verlassen und wieder in ihn hinein
gelangen können:
</para>
<para>
<example>
<title>HTML- und PHP-Modus vermischt</title>
<programlisting role="php">
<![CDATA[
<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
?>
<h3>strpos() hat nicht FALSE zurückgegeben</h3>
<p>Sie benutzen Internet Explorer</p>
<?php
} else {
?>
<h3>strpos() hat FALSE zurückgegeben</h3>
<p>Sie benutzen nicht Internet Explorer</p>
<?php
}
?>
]]>
</programlisting>
<para>
Die Ausgabe dieses Skripts könnte so aussehen:
</para>
<screen role="html">
<![CDATA[
<h3>strpos() hat nicht FALSE zurückgegeben</h3>
<p>Sie benutzen Internet Explorer</p>
]]>
</screen>
</example>
</para>
<para>
Anstatt die PHP echo-Anweisung für die Ausgabe zu benutzen,
haben wir den PHP-Modus verlassen und normales HTML verwendet. Der wichtige
Punkt hierbei ist, dass der logische Ablauf des Skripts dadurch nicht
gestört wird. Nur einer der beiden HTML-Blöcke wird ausgegeben - abhängig
davon, was <function>strpos</function> zurückgibt bzw.
ob der String <literal>MSIE</literal> gefunden wird oder nicht.
</para>
</section>
<section xml:id="tutorial.forms">
<title>Formulare verarbeiten</title>
<para>
Eine der mächtigsten Funktionen von PHP ist die Art, wie HTML-Formulare
verarbeitet werden. Sie sollten wissen, dass jedes Element eines Formulars
automatisch in Ihren PHP-Skripts verfügbar ist. Bitte lesen Sie die Seite
<link linkend="language.variables.external">Variablen aus externen Quellen</link>
für weitere Informationen und Beispiele über das Benutzen von Formularen
mit PHP. Hier ist ein Beispiel-HTML-Formular:
</para>
<para>
<example>
<title>Ein einfaches HTML-Formular</title>
<programlisting role="html">
<![CDATA[
<form action="action.php" method="post">
<p>Ihr Name: <input type="text" name="name" /></p>
<p>Ihr Alter: <input type="text" name="alter" /></p>
<p><input type="submit" /></p>
</form>
]]>
</programlisting>
</example>
</para>
<para>
An diesem Formular ist nichts Besonderes. Es ist ein normales
HTML-Formular ohne irgendwelche speziellen Tags. Wenn der Benutzer
das Formular ausfüllt und den Submit-Button anklickt, wird die
Seite <filename>action.php</filename> aufgerufen. Diese Datei
könnte so aussehen:
</para>
<para>
<example>
<title>Daten des Formulars ausgeben</title>
<programlisting role="php">
<![CDATA[
Hallo <?php echo htmlspecialchars($_POST['name']); ?>.
Sie sind <?php echo (int)$_POST['alter']; ?> Jahre alt.
]]>
</programlisting>
<para>
Die Ausgabe des Skripts könnte dann so aussehen:
</para>
<screen role="html">
<![CDATA[
Hallo Joe. Sie sind 22 Jahre alt.
]]>
</screen>
</example>
</para>
<para>
Abgesehen von dem <function>htmlspecialchars</function>-Aufruf
und dem <literal>(int)</literal> Cast sollte einfach zu verstehen
sein, was hier geschieht. <function>htmlspecialchars</function>
stellt sicher, dass die Zeichen, die in HTML eine spezielle Bedeutung
haben, ordentlich codiert werden, sodass niemand HTML Tags oder
Javascript-Code in Ihre Seite einschmuggeln kann. Da wir wissen,
dass das "alter" Feld eine Zahl enthalten soll,
<link linkend="language.types.typecasting">konvertieren</link>
wir es in einen <type>integer</type> Wert, wodurch automatisch
überflüssige Zeichen entfernt werden. Sie können diese Aufgabe
auch PHP überlassen, indem Sie die
<link linkend="ref.filter">Filter</link> Extension benutzen.
Die Variablen <varname>$_POST['name']</varname> und
<varname>$_POST['alter']</varname> werden für Sie automatisch
von PHP gesetzt. Weiter oben haben wir das superglobale Array
<varname>$_SERVER</varname> eingeführt, jetzt benutzen wir hier
das - ebenfalls superglobale - Array <varname>$_POST</varname>, welches alle
POST-Daten enthält. Beachten Sie, dass die im Formular verwendete
<emphasis>Methode</emphasis> POST ist. Hätten wir
<emphasis>GET</emphasis> verwendet, wären die Daten unseres
Formulars stattdessen im superglobalen Array <varname>$_GET</varname> verfügbar.
Sie können auch das superglobale Array <varname>$_REQUEST</varname> benutzen,
wenn die Quelle der Daten keine Rolle spielt. Dieses Array enthält
die GET-, POST- und COOKIE-Daten.
</para>
<para>
Sie können ebenfalls die Eingaben von XForms in PHP verarbeiten, auch
wenn Ihnen die von PHP unterstützten HTML-Formulare bisher gut
gereicht haben. Auch wenn die Arbeit mit XForms nichts für Anfänger
ist, sind Sie vielleicht trotzdem daran interessant. In unserem
Features-Kapitel finden Sie eine <link
linkend="features.xforms">kurze Einführung</link> in die Verarbeitung
von XForms-Daten.
</para>
</section>
<section xml:id="tutorial.oldcode">
<title>Alten Code mit neuen PHP-Versionen benutzen</title>
<para>
Dadurch, dass PHP eine immer beliebtere Skriptsprache ist, gibt es
immer mehr öffentliche Quellen und Bibliotheken mit Code, den Sie
wieder verwenden können. Die PHP-Entwickler haben versucht, den
größten Teil der Sprache abwärtskompatibel zu halten. Das bedeutet,
dass ein Skript, das für eine ältere PHP-Version geschrieben wurde,
(im Idealfall) ohne Änderungen auch unter einer neueren PHP-Version
läuft. In der Praxis sind aber meist einige Änderungen nötig.
</para>
<para>
Zwei der wichtigsten aktuellen Änderungen, die alten Code betreffen, sind:
<itemizedlist>
<listitem>
<simpara>
Die alten <varname>$HTTP_*_VARS</varname>-Arrays sind
ab PHP 5.4.0 nicht mehr verfügbar.
Die folgenden <link
linkend="language.variables.superglobals">Superglobalen Arrays</link>
wurden in PHP <link xlink:href="&url.php.release4.1.0;">4.1.0</link>
eingeführt: <varname>$_GET</varname>, <varname>$_POST</varname>,
<varname>$_COOKIE</varname>, <varname>$_SERVER</varname>,
<varname>$_FILES</varname>, <varname>$_ENV</varname>,
<varname>$_REQUEST</varname> und <varname>$_SESSION</varname>.
</simpara>
</listitem>
<listitem>
<simpara>
Externe Variablen werden standardmäßig nicht mehr im globalen Namensraum
registriert. Mit anderen Worten, seit PHP
<link xlink:href="&url.php.release4.2.0;">4.2.0</link> ist <emphasis>off</emphasis>
die Standard-Einstellung für die PHP-Direktive
<link linkend="ini.register-globals">register_globals</link>.
Die empfohlene Methode, auf diese Werte zuzugreifen, ist, die oben genannten
superglobalen Arrays zu verwenden. Ältere Skripte, Bücher und Tutorials gehen
eventuell davon aus, dass diese Einstellung auf <emphasis>on</emphasis> steht.
Wäre die Einstellung z.B. on, dann wäre die Variable <varname>$id</varname> aus
dem URL <literal>http://www.example.com/foo.php?id=42</literal> verfügbar.
Unabhängig davon, ob on oder off, ist <varname>$_GET['id']</varname> immer
verfügbar.
</simpara>
</listitem>
</itemizedlist>
Für weitere Details über diese Änderungen siehe die Seite über
<link linkend="language.variables.predefined">vordefinierte Variablen</link>
und die Links dort.
</para>
</section>
<section xml:id="tutorial.whatsnext">
<title>Und weiter?</title>
<para>
Mit dem neuen Wissen sollte es Ihnen möglich sein,
das meiste aus diesem Manual und die vielen Beispiel-Skripte
in den Beispiel-Archiven zu verstehen.
</para>
<para>
Wenn Sie an verschiedenen Präsentationen, die Ihnen zeigen, was PHP
alles tun kann, interessiert sind, dann besuchen Sie doch folgende
Seite: <link xlink:href="&url.php.talks;">&url.php.talks;</link>.
</para>
</section>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->