aktuelle.kurse/old_m133/Modul_Unterlagen_133_VOR/01-Modulinhalte/02 Grundlagen/03 PHP-einfach/einf_php_erste_schritte.php.htm

343 lines
16 KiB
HTML
Raw Normal View History

2022-02-24 09:37:43 +01:00
<html>
<head>
<title>PHP-Einfach.de - PHP Einf&uuml;hrung - Erste Schritte</title>
<meta name="Author" content="Andavos">
<meta name="Publisher" content="Andavos">
<meta name="Copyright" content="Andavos">
<link rel="stylesheet" href="css/main.css" tppabs="http://www.php-einfach.de/offline/css/main.css" type="text/css">
</head>
<body text="#000000" bgcolor="#DDDDDD" link="#004A95" alink="#004A95" vlink="#525252">
<table align="center" height="100%" width="100%" cellspacing="0" border="0" cellpadding="0">
<tr>
<td align="center" valign="middle" height="100%" width="100%">
<table height="100" width="750" cellspacing="0" border="0" cellpadding="0">
<tr>
<td height="100" bgcolor="#FFE09F" width="750"><img src="grafiken/banner_top.jpg" tppabs="http://www.php-einfach.de/offline/grafiken/banner_top.jpg" width="750" height="100" border="0" alt="">
<a name="oben"></a></td>
</tr>
</table>
<table height="650" width="750" cellspacing="0" border="0" cellpadding="0">
<tr>
<td valign="top" bgcolor="#FFE09F" width="160">
<table width="160" cellspacing="0" border="0" cellpadding="0">
<tr>
<td height="100" width="5"></td>
<td class="black" height="100" width="150">
<br><b><center><img src="grafiken/side_navigation.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_navigation.gif" width="150" height="25" border="0" alt=""></center></b>
<a target="_blank" class="blue" href="http://www.php-einfach.de/index.php"><b>&raquo;</b> Startseite</a><br>
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_news.php"><b>&raquo;</b> News&uuml;bersicht</a><br>
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_email.php"><b>&raquo;</b> Kontakt</a><br>
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_impressum.php"><b>&raquo;</b> Impressum</a><br><br>
<center><img src="grafiken/side_community.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_community.gif" width="150" height="25" border="0" alt=""></center>
<a target="_blank" class="blue" target="_blank" href="http://forum.php-einfach.de/"><b>&raquo;</b> Forum</a><br>
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_gaestebuch.php"><b>&raquo;</b> G&auml;stebuch</a><br><br>
<center><img src="grafiken/side_tutorials.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_tutorials.gif" width="150" height="25" border="0" alt=""></center>
<a class="blue" href="einf_php.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php.php"><b>&raquo;</b> Einf&uuml;hrung PHP</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_php_anfang.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_anfang.php"><b>&raquo;</b> Anfang</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_php_erste_schritte.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_erste_schritte.php"><b>&raquo;</b> Erste Schritte</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_php_variablen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_variablen.php"><b>&raquo;</b> Variablen</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_php_if-anweisung.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_if-anweisung.php"><b>&raquo;</b> if-Anweisung</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_php_logische_operatoren.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_logische_operatoren.php"><b>&raquo;</b> Log. Operatoren</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_php_uebung1.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_uebung1.php"><b>&raquo;</b> &Uuml;bung</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_php_dateien.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_dateien.php"><b>&raquo;</b> Dateien</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_php_schleifen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_schleifen.php"><b>&raquo;</b> Schleifen</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_php_array.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_array.php"><b>&raquo;</b> Array</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_php_dateien2.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_dateien2.php"><b>&raquo;</b> Dateien Teil 2</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_php_datum.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_datum.php"><b>&raquo;</b> Datum & Zeit</a><br>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_php_email.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_email.php"><b>&raquo;</b> Mail Funktion</a><br>
<div style="position: relative; left:15;" >
<a class="blue"href="einf_php_suchen_ersetzen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_suchen_ersetzen.php"><b>&raquo;</b> Suchen & Ersetzen</a><br>
<a class="blue" href="einf_php_nuetz_funktionen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_nuetz_funktionen.php"><b>&raquo;</b> N&uuml;tzliche Funktionen</a><br>
</div>
&nbsp;&nbsp;&nbsp;<a class="blue" href="einf_php_sessions.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_sessions.php"><b>&raquo;</b> Sessions</a><br><br>
<a class="blue" href="einf_mysql.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql.php"><b>&raquo;</b> Einf&uuml;hrung MySQL</a><br>
<br>
<center>
<a target="_blank" href="http://www.php-einfach.de/nav_verlinkung.php"><img src="grafiken/php-einfach.gif" tppabs="http://www.php-einfach.de/offline/grafiken/php-einfach.gif" width="88" height="31" border="0" alt="PHP-Einfach.de"></a><br><br>
<a target="_blank" href="http://www.digicount.de/"><b>Counterdienst:</b></a>
<a target="_blank" href="http://www.php-einfach.de/nav_digicount.php"><div>
<img src="grafiken/digicount_livedemo.jpg" tppabs="http://www.php-einfach.de/offline/grafiken/digicount_livedemo.jpg" border="0" alt="Digicount.de"><br>
<small>Unser werbefreier Counter- und Statistikdienst</small></div>
</a>
</center>
</td>
<td height="100" width="5"></td>
</tr>
</table>
</td>
<td valign="top" bgcolor="#FFFFFF" width="430">
<table width="430" cellspacing="0" border="0" cellpadding="0">
<tr>
<td height="100" width="10"></td>
<td valign="top" class="black" height="100" width="410">
<br>
<h3>Erste Schritte</h3>
Um zu sehen, ob auf einem Server &uuml;berhaupt PHP installiert ist, ben&ouml;tigt man eine PHP-Datei (z.B. <b>phpinfo.php</b>) mit folgendem Inhalt:<br>
<font color="#606060">
&lt;?php<br>
phpinfo();<br>
?&gt;
</font><br><br>
Diesen Code kannst du einfach in einem Texteditor, z.B. Notepad einf&uuml;gen. Danach klickst du auf speichern, und gibst als Dateinamen <i>phpinfo.php</i> an.<br>
Bitte achte darauf, dass Notepade diese Datei <b>nicht</b> als Textdatei speichert.<br>
Dann kopierst du die Datei in den Ordner <b>htdocs</b>.<br><br>
Ruft man diese Seite jetzt auf (http://localhost/phpinfo.php), wird angezeigt, ob auf diesem Server PHP installiert ist oder nicht. Ist PHP installiert, werden mehrere Tabellen angezeigt, in welchen aufgelistet wird, was installiert ist und was nicht, unter anderem welche PHP-Version auf dem Server installiert ist (steht ganz oben).<br>
Ist kein PHP Installiert, wird entweder nichts angezeigt oder eine Fehlermeldung wird ausgegeben, evt. wird uns die Datei auch zum Download angeboten.<br><br>
<h3>PHP-Einbinden</h3>
In einer PHP-Datei k&ouml;nnen sowohl HTML-Befehle, als auch PHP-Befehle enthalten sein. Die HTML-Befehle schreiben wir wie gewohnt in die PHP-Datei, so wie wir es aus den HTML-Dateien kennen. <br><br>
M&ouml;chte man jetzt in die PHP-Datei PHP-Befehle einbinden, so muss man erst mit einer Einleitung bestimmen, dass jetzt ein PHP-Script folgt.<br> <br>
<b>Daf&uuml;r gibt es 3 M&ouml;glichkeiten.</b> <br>
Die k&uuml;rzeste M&ouml;glichkeit ist <i>&lt;?</i>. Dazu muss allerdings eine bestimmte Einstellung gesetzt sein (<i>short_open_tag</i>).<br>
Ist die Einstellung <i>off</i>, ben&ouml;tigt man <i>&lt;?php</i>.<br>
Danach folgen die PHP-Befehle.<br>
Als Abschluss des PHP-Scripts (bei <i>&lt;?</i> und <i>&lt;?php</i>) ben&ouml;tigen wir noch ein <i>?></i>.<br><br>
Es gibt auch eine l&auml;ngere Version, diese sieht so aus:<br>
<font color="#606060"> &lt;script language="php"> PHP-Anweisungen &lt;/script></font><br>
Diese Variante w&uuml;rde ich nicht empfehlen, da sie keine Vorteile bringt und einfach nur l&auml;nger ist.
<br><br>
<h3>Text ausgeben</h3>
Als erstes lernen wir, wie man einen normalen Text mit PHP ausgibt.<br><br>
Dies geht mit Hilfe von <b>echo</b> bzw. <b>print</b>. Bei unseren Scripts wird immer <b>echo</b> benutzt.<br><br>
Wir legen eine neue Datei an (z.B. <b>hallo.php</b>) und geben in diese folgenden Inhalt ein:<br><br>
<font color="#606060">
&lt;?php<br>
echo "Hello World";<br>
?&gt;<br><br>
</font>
Wird nun diese Datei mit dem Browser aufgerufen, so erscheint als Ausgabe: <i>Hello World</i>.<br>
Dies steht auch genauso im Browser-Quelltext (Quelltext anzeigen), aber ohne die PHP-Anweisungen.
(die spitzen Klammern und was so dazugeh&ouml;rt).<br>
Dies bedeutet, der eigentliche PHP-Code ist nicht sichtbar und kann somit auch nicht kopiert und geklaut werden.<br><br>
Wie schon oben erkl&auml;rt, rufen wir ein PHP-Script immer in der ersten Zeile mit <i>&lt;?php</i> auf.<br><br>
In der n&auml;chsten Zeile folgt dann die PHP-Anweisung<br>
<font color="#606060">
echo "Hello World";
</font><br><br>
<b>echo</b> ist die Anweisung, einen bestimmten Text auszugeben.<br>
Dieser Text steht zwischen den beiden Anf&uuml;hrungszeichen. Das Semikolon (<b>;</b>) beendet die Funktion <i>echo</i>. Fast jeder Befehl (bis auf wenige Ausnahmen) enden mit einem Semikolon (<b>;</b>).<br>
Mit <i>?></i> beenden wir das PHP-Script.<br><br>
Alles zwischen den Anf&uuml;hrungszeichen gilt als Text und kann frei definiert werden, auch HTML-Befehle sind m&ouml;glich z.B.<br>
<font color="#606060">
echo "&lt;b&gt;Hello World&lt;/b&gt;";
</font><br><br>
Damit w&uuml;rde das Hello World als <i><b>Fett</b></i> ausgegeben werden.<br><br>
M&ouml;chte man jetzt <i>Hello "World"</i> ausgeben lassen, dann denkt man zuerst an folgende Schreibweise:<br><br>
<font color="#606060">
&lt;?php<br>
echo "Hello "World"";<br>
?&gt;<br><br>
</font>
Allerdings erhalten wir dann die folgende Fehlermeldung:<br><br>
<b>Parse error:</b> parse error, unexpected T_STRING, expecting ',' or ';' in <b>C:\xampp\xampp\htdocs\hallo.php</b> on line <b>2</b> <br><br>
Diese Fehlermeldung ist sehr brauchbar, denn daran ist erkennbar, wo der Fehler begangen wurde und meistens auch welcher.<br>
<i>on line 2</i> zeigt an, dass der Fehler in Zeile 2 liegt.<br>
In dieser Zeile steht diese Anweisung:<br>
<font color="#606060">
echo "Hello "World"";<br><br>
</font>
Also muss hier irgendetwas falsch sein! <br>
Eigentlich ist es ganz logisch.<br>
Der Befehl <b>echo</b> startet die Ausgabe immer ab dem 1. Anf&uuml;hrungszeichen und gibt alles bis zum 2. Anf&uuml;hrungszeichen aus.<br>
Da aber in dieser Befehlszeile insgesamt 4 Anf&uuml;hrungszeichen zur Textausweisung benutzt werden, ist keine klare Definition gegeben.
Deshalb erfolgt diese Fehlermeldung und nicht die gew&uuml;nschte Ausgabe.<br><br>
Also m&uuml;ssen wir die Anf&uuml;hrungszeichen bei <i>"World"</i> mit einem <b>Maskierungszeichen</b> versehen.<br>
Dazu benutzen wir den Backslash (<b>\</b>).<br><br>
Das Script sieht dann so aus:<br>
<font color="#606060">
&lt;?php<br>
echo "Hello \"World\"";<br>
?&gt;<br><br>
</font>
Dieses <i>Maskierungszeichen</i> muss vor jedem Anf&uuml;hrungszeichen stehen, das als Text ausgegeben werden soll.<br><br>
<b>Aber was ist wenn wir jetzt einen Backslash ausgeben m&ouml;chten ?</b>
Auch dies geht, allerdings wird daf&uuml;r wieder ein <b>Maskierungszeichen</b> ben&ouml;tigt. Dazu nehmen wir einfach ein zweiten Backslash.<br><br>
Dies sieht dann so aus:<br>
<font color="#606060">
&lt;?php<br>
echo "c:\\xampp";<br>
?&gt;<br><br>
</font>
Die Ausgabe ist dann: <i>c:\xampp</i><br><br>
PHP Seiten k&ouml;nnen aus PHP Scripts und HTML Befehlen bestehen, z.B. so:<br><br>
<font color="#606060">
&lt;h2>Herzlich Willkommen&lt;/h2><br>
&lt;?php<br>
echo "Auf meiner Internetseite";<br>
?&gt;<br><br>
</font>
Dies war auch schon alles, was man &uuml;ber den Befehl <b>echo</b> wissen muss.<br><br>
<b>Wozu brauche ich denn diesen <i>echo</i> Befehl?</b><br>
Man kann doch einen Text ja auch einfach mit HTML ausgeben.<br>
Der Nachteil von HTML ist, dass keine dynamischen Texte ausgegeben werden k&ouml;nnen.<br>
Anders bei PHP.<br><br>
Auch wenn man PHP perfekt beherrscht, alle Texte werden mit <b>echo</b> (o.&auml;.) ausgegeben.<br>
Das Besondere daran ist, dass diese Texte dann meistens dynamisch, z.B. aus einer Datenbank, erzeugt werden.<br> <br>
Allerdings steuert man dann die Ausgabe, mit Hilfe von bestimmten <b>Variablen</b>. Der Besucher bestimmt dann meistens selbst, welchen Text er erh&auml;lt.<br><br>
So ist das auch bei einem Forum. In der Titelzeile stehen bei Foren fast immer Werte (z.B. ?id=131&amp;seite=2). Diese Werte bestimmen, welche Ausgabe der Besucher erh&auml;lt. <br>
<br>
<h3>Kommentare</h3>
Um in einem PHP-Script einen Kommentar einzuf&uuml;gen, oder um einen Befehl zu deaktivieren, benutzt man # (Raute) oder // (2 Shlashs) <br><br>
Alles was nach diesen Zeichen steht, wird nicht ausgef&uuml;hrt und ist in der Ausgabe auch nicht sichtbar. Durch einen Zeilenumbruch beenden wir den Kommentar.<br><br>
Kommentare sollten &ouml;fters benutzt werden, da man dadurch die M&ouml;glichkeit hat, den &Uuml;berblick zu bewahren. Auch wenn man z.B. nach zwei Monaten an dem Script etwas &auml;ndern m&ouml;chte, helfen diese.<br><br>
<font color="#606060">
<pre>
&lt;?php
//Dies ist ein Kommentar
#Ausgabe des Text
echo "Hallo Welt";
?></pre>
</font>
Manchmal ist es auch sinnvoll ein Kommentar &uuml;ber mehrere Zeilen zu haben, wenn man z.B. einen Programmabschnitt auskommentieren m&ouml;chte.<br>
Solch ein Kommentar startet mit <b>/*</b> und endet mit <b>*/</b>:<br>
<font color="#606060">
<pre>
&lt;?php
/* Kommentar startet
Ausgabe des Textes
Ende des Kommentares */
echo "Hallo Welt";
?></pre>
</font>
<a href="einf_php_variablen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_variablen.php">Weiter gehts...</a><br><br>
<a href="http://www.php-einfach.de/nav_impressum.php">Autor Andavos</a>
<div align="center"><a href="#oben">Nach oben</a></div>
</td>
<td height="100" width="10"></td>
</tr>
</table>
</td>
<td valign="top" bgcolor="#FFE09F" width="160">
<table width="160" cellspacing="0" border="0" cellpadding="0">
<tr>
<td height="100" width="5"></td>
<td valign="top" class="black2" height="100" width="150">
<br><b><center><img src="grafiken/side_news.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_news.gif" width="150" height="25" border="0" alt=""></center></b>
<a target="_blank" href="http://www.php-einfach.de/nav_news.php">News</a>
<br><br>
<b><center><img src="grafiken/side_forum.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_forum.gif" width="150" height="25" border="0" alt=""></center></b>
<a target="_blank" href="http://forum.php-einfach.de/">Forum</a>
<br><br>
<b><center><img src="grafiken/side_newsletter.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_newsletter.gif" width="150" height="25" border="0" alt="Newsletter"></center></b>
<form target="_blank" method="post" action="http://www.php-einfach.de/clanletter/save.php">
<br> <br>
<div align="center">&copy; PHP-Einfach.de 2003 - 2007 </div>
</td>
<td height="100" width="5"></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>