PHP Komplett
Zur Navigation springen
Zur Suche springen
PHP – Schulung (Grundlagen und Kontrolle)
Install
Grundlegendes
- PHP läuft auf dem Server und erzeugt HTML
- Der Browser sieht nur das Ergebnis
- PHP wird für dynamische Webseiten genutzt
PHP im Web
- Ablauf:
- Browser sendet Anfrage
- PHP wird ausgeführt
- PHP erzeugt HTML
- Browser zeigt Ergebnis
Der Anfang
<?php echo "Hallo Welt"; ?>
Variablen
<?php $name = "Server01"; $zahl = 10; echo "$name hat die Zahl $zahl"; ?>
PHP und HTML
<!DOCTYPE html> <html> <body> <h1>Test</h1> <?php echo "Hallo Welt"; ?> </body> </html>
Benutzereingaben
<!DOCTYPE html>
<html>
<body>
<form method="post">
Name: <input type="text" name="name">
<input type="submit">
</form>
<?php
if (isset($_POST['name'])) {
echo "Hallo " . $_POST['name'];
}
?>
</body>
</html>
Kontrollstrukturen
if
<?php
$zahl = 20;
if ($zahl < 30) {
echo "Kleiner als 30";
}
?>
if / else
<?php
$zahl = 50;
if ($zahl < 30) {
echo "Klein";
} else {
echo "Groß";
}
?>
if / elseif / else
<?php
$zahl = 30;
if ($zahl < 20) {
echo "Klein";
} elseif ($zahl == 30) {
echo "Genau 30";
} else {
echo "Groß";
}
?>
while
<?php
$i = 0;
while ($i < 5) {
echo $i . "<br>";
$i++;
}
?>
for
<?php
for ($i = 0; $i < 5; $i++) {
echo $i . "<br>";
}
?>
Arrays
<?php
$server = array("web01", "db01", "mail01");
echo $server[0];
?>
Arrays durchlaufen
<?php
$server = array("web01", "db01", "mail01");
foreach ($server as $s) {
echo $s . "<br>";
}
?>
Funktionen
<?php
function hallo($name) {
return "Hallo " . $name;
}
echo hallo("Max");
?>
Funktionen mit Berechnung
<?php
function summe($a, $b) {
return $a + $b;
}
echo summe(5, 3);
?>
Arbeiten mit Dateien
<?php
file_put_contents("test.txt", "Hallo Datei");
echo file_get_contents("test.txt");
?>
Shell-Zugriffe
<?php
$hostname = shell_exec("hostname");
echo $hostname;
?>
- Achtung:
- Keine ungeprüften Eingaben verwenden
PHP auf der Kommandozeile
- PHP kann auch ohne Webserver genutzt werden
- Datei
nano test.php
- Inhalt
<?php print_r($argv); ?>
- Aufruf
php test.php test1 test2
Sicherheitsgrundlagen
- Benutzereingaben niemals vertrauen
- Ausgabe im Browser kann Code enthalten
- Systembefehle sind gefährlich
Aufgaben
- Schreibe ein Script mit if-Abfrage (Zahl prüfen)
- Erzeuge eine Schleife von 0 bis 10
- Lege ein Array mit 3 Servernamen an und gib alle aus
- Schreibe eine Funktion zur Addition zweier Zahlen
- Erstelle ein Formular und gib den Namen aus
- Führe ein PHP-Skript auf der Konsole aus
Lösungen
- if
<?php
$zahl = 10;
if ($zahl < 20) {
echo "OK";
}
?>
- Schleife
<?php
for ($i = 0; $i <= 10; $i++) {
echo $i . "<br>";
}
?>
- Array
<?php
$server = array("web01", "db01", "mail01");
foreach ($server as $s) {
echo $s . "<br>";
}
?>
- Funktion
<?php
function summe($a, $b) {
return $a + $b;
}
echo summe(2, 3);
?>
- Formular
<!DOCTYPE html>
<html>
<body>
<form method="post">
Name: <input type="text" name="name">
<input type="submit">
</form>
<?php
if (isset($_POST['name'])) {
echo $_POST['name'];
}
?>
</body>
</html>
- Konsole
<?php print_r($argv); ?>
- Aufruf
php test.php hallo welt
Ziel
- Verständnis für PHP-Grundlagen
- Vorbereitung auf komplexere Anwendungen