PHP Schulungs Skript: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (22 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | = | + | = PHP – Einführung (Grundlagen) = |
| − | |||
| − | = | + | == Install == |
| − | * | + | * [[php Apache2 Modul]] |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | = | + | == Grundlegendes == |
| − | + | * PHP läuft auf dem Server (z. B. Apache) | |
| − | + | * Der Browser sieht nur das erzeugte HTML | |
| − | + | * PHP wird verwendet, um dynamische Webseiten zu erstellen | |
| − | |||
| − | Der | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | = | + | == PHP im Web == |
| + | * Ablauf: | ||
| + | ** Browser sendet Anfrage | ||
| + | ** PHP wird ausgeführt | ||
| + | ** PHP verarbeitet Daten | ||
| + | ** PHP erzeugt HTML | ||
| + | ** Browser zeigt Ergebnis | ||
| − | + | == Der Anfang == | |
| − | + | PHP-Code steht zwischen <?php und ?> | |
| − | + | cat eins.php | |
| − | + | <pre> | |
| − | + | <?php | |
| + | echo "Hallo Welt"; | ||
| + | ?> | ||
| + | </pre> | ||
| + | |||
| + | * echo gibt Text aus | ||
| + | * Jede Anweisung endet mit ; | ||
| + | |||
| + | == PHP und HTML == | ||
| + | cat zwei.php | ||
| + | |||
| + | <pre> | ||
| + | <!DOCTYPE html> | ||
| + | <html> | ||
| + | <body> | ||
| + | |||
| + | <h1>Testseite</h1> | ||
| + | |||
| + | <?php | ||
| + | echo "Hallo Welt"; | ||
| + | ?> | ||
| + | |||
| + | </body> | ||
| + | </html> | ||
| + | </pre> | ||
| + | |||
| + | == Variablen == | ||
| + | |||
| + | sudo cat /var/www/server/drei.php | ||
| + | |||
| + | <pre> | ||
| + | <?php | ||
| + | $name = "Server01"; | ||
| + | $os = "Linux"; | ||
| + | |||
| + | echo "$name - $os"; | ||
| + | ?> | ||
| + | </pre> | ||
| + | |||
| + | == Daten vom Benutzer == | ||
| + | * Formulare senden Daten an PHP | ||
| + | * Zugriff erfolgt über $_POST | ||
| + | |||
| + | sudo cat /var/www/server/vier.php | ||
| + | |||
| + | <pre> | ||
| + | <!DOCTYPE html> | ||
| + | <html> | ||
| + | <body> | ||
| + | |||
| + | <form method="post"> | ||
| + | Name: <input type="text" name="name"> | ||
| + | <input type="submit" value="Senden"> | ||
| + | </form> | ||
| + | |||
| + | <?php | ||
| + | if (isset($_POST['name'])) { | ||
| + | echo "Hallo " . $_POST['name']; | ||
| + | } | ||
| + | ?> | ||
| + | |||
| + | </body> | ||
| + | </html> | ||
| + | </pre> | ||
| + | |||
| + | == Typischer Ablauf == | ||
| + | * Benutzer gibt Daten ein | ||
| + | * Daten werden an PHP gesendet | ||
| + | * PHP verarbeitet die Daten | ||
| + | * Ergebnis wird im Browser angezeigt | ||
| + | |||
| + | == Arbeiten mit Dateien == | ||
| + | <pre> | ||
| + | <?php | ||
| + | file_put_contents("test.txt", "Hallo Datei"); | ||
| + | echo file_get_contents("test.txt"); | ||
| + | ?> | ||
| + | </pre> | ||
| + | '''Testen''' | ||
| + | |||
| + | == Shell-Zugriffe == | ||
| + | <pre> | ||
| + | <?php | ||
| + | $ip = shell_exec("ip a s enp0s3 | grep 'inet\\>' | awk '{ print \$2 }'"); | ||
| + | echo $ip; | ||
| + | ?> | ||
| + | </pre> | ||
| + | |||
| + | * Achtung: | ||
| + | ** Nur kontrolliert einsetzen | ||
| + | ** Keine Benutzereingaben ungeprüft übergeben | ||
| + | |||
| + | == PHP auf der Kommandozeile == | ||
| + | * PHP kann auch ohne Webserver genutzt werden | ||
| + | |||
| + | ; Datei erstellen: | ||
| + | nano test.php | ||
| + | |||
| + | ; Inhalt: | ||
| + | <pre> | ||
| + | <?php | ||
| + | print_r($argv); | ||
| + | ?> | ||
| + | </pre> | ||
| + | |||
| + | ; Aufruf: | ||
| + | php test.php hallo welt | ||
| + | |||
| + | ; Ausgabe: | ||
| + | <pre> | ||
| + | Array ( | ||
| + | [0] => test.php | ||
| + | [1] => hallo | ||
| + | [2] => welt | ||
| + | ) | ||
| + | </pre> | ||
| + | |||
| + | * Unterschied: | ||
| + | ** Web → $_POST | ||
| + | ** Konsole → $argv | ||
| + | |||
| + | == Sicherheitsgrundlagen == | ||
| + | * Benutzereingaben niemals vertrauen | ||
| + | * Ausgaben im Browser können Code enthalten | ||
| + | |||
| + | == Aufgaben (Web) == | ||
| + | * Erstelle eine PHP-Datei, die "Hallo Welt" im Browser ausgibt | ||
| + | * Baue ein Formular und gib den eingegebenen Namen aus | ||
| + | * Erzeuge Variablen und gib sie im HTML aus | ||
| + | * Speichere einen Text in einer Datei und lies ihn wieder aus | ||
| − | = | + | == Aufgaben (Konsole) == |
| − | + | * Führe ein PHP-Skript auf der Konsole aus | |
| − | + | * Übergib Parameter und gib sie aus | |
| − | + | <!--- | |
| − | + | == Lösungen (Web) == | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | = | ||
| − | + | ; Aufgabe 1 | |
| − | + | <pre> | |
| + | <?php | ||
| + | echo "Hallo Welt"; | ||
| + | ?> | ||
| + | </pre> | ||
| + | ; Aufgabe 2 | ||
<pre> | <pre> | ||
| − | + | <!DOCTYPE html> | |
| − | + | <html> | |
| − | + | <body> | |
| − | + | ||
| − | + | <form method="post"> | |
| − | + | Name: <input type="text" name="name"> | |
| − | + | <input type="submit" value="Senden"> | |
| + | </form> | ||
| + | |||
| + | <?php | ||
| + | if (isset($_POST['name'])) { | ||
| + | echo "Hallo " . $_POST['name']; | ||
| + | } | ||
| + | ?> | ||
| + | |||
| + | </body> | ||
| + | </html> | ||
</pre> | </pre> | ||
| − | = | + | ; Aufgabe 3 |
| + | <pre> | ||
| + | <?php | ||
| + | $name = "Server01"; | ||
| + | $os = "Linux"; | ||
| + | |||
| + | echo "$name - $os"; | ||
| + | ?> | ||
| + | </pre> | ||
| − | + | ; Aufgabe 4 | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
<pre> | <pre> | ||
| + | <?php | ||
| + | file_put_contents("test.txt", "Test"); | ||
| + | echo file_get_contents("test.txt"); | ||
| + | ?> | ||
</pre> | </pre> | ||
| − | = | + | |
| + | == Lösungen (Konsole) == | ||
| + | |||
| + | ; Aufgabe 5 | ||
<pre> | <pre> | ||
| + | <?php | ||
| + | print_r($argv); | ||
| + | ?> | ||
</pre> | </pre> | ||
| + | |||
| + | ; Aufruf: | ||
| + | php test.php test1 test2 | ||
| + | ---> | ||
| + | |||
| + | == Ziel == | ||
| + | * Verständnis für den Ablauf von PHP im Web | ||
| + | * Vorbereitung auf die weitere Anwendung | ||
Aktuelle Version vom 24. März 2026, 10:29 Uhr
PHP – Einführung (Grundlagen)
Install
Grundlegendes
- PHP läuft auf dem Server (z. B. Apache)
- Der Browser sieht nur das erzeugte HTML
- PHP wird verwendet, um dynamische Webseiten zu erstellen
PHP im Web
- Ablauf:
- Browser sendet Anfrage
- PHP wird ausgeführt
- PHP verarbeitet Daten
- PHP erzeugt HTML
- Browser zeigt Ergebnis
Der Anfang
PHP-Code steht zwischen <?php und ?>
cat eins.php
<?php echo "Hallo Welt"; ?>
- echo gibt Text aus
- Jede Anweisung endet mit ;
PHP und HTML
cat zwei.php
<!DOCTYPE html> <html> <body> <h1>Testseite</h1> <?php echo "Hallo Welt"; ?> </body> </html>
Variablen
sudo cat /var/www/server/drei.php
<?php $name = "Server01"; $os = "Linux"; echo "$name - $os"; ?>
Daten vom Benutzer
- Formulare senden Daten an PHP
- Zugriff erfolgt über $_POST
sudo cat /var/www/server/vier.php
<!DOCTYPE html>
<html>
<body>
<form method="post">
Name: <input type="text" name="name">
<input type="submit" value="Senden">
</form>
<?php
if (isset($_POST['name'])) {
echo "Hallo " . $_POST['name'];
}
?>
</body>
</html>
Typischer Ablauf
- Benutzer gibt Daten ein
- Daten werden an PHP gesendet
- PHP verarbeitet die Daten
- Ergebnis wird im Browser angezeigt
Arbeiten mit Dateien
<?php
file_put_contents("test.txt", "Hallo Datei");
echo file_get_contents("test.txt");
?>
Testen
Shell-Zugriffe
<?php
$ip = shell_exec("ip a s enp0s3 | grep 'inet\\>' | awk '{ print \$2 }'");
echo $ip;
?>
- Achtung:
- Nur kontrolliert einsetzen
- Keine Benutzereingaben ungeprüft übergeben
PHP auf der Kommandozeile
- PHP kann auch ohne Webserver genutzt werden
- Datei erstellen
nano test.php
- Inhalt
<?php print_r($argv); ?>
- Aufruf
php test.php hallo welt
- Ausgabe
Array (
[0] => test.php
[1] => hallo
[2] => welt
)
- Unterschied:
- Web → $_POST
- Konsole → $argv
Sicherheitsgrundlagen
- Benutzereingaben niemals vertrauen
- Ausgaben im Browser können Code enthalten
Aufgaben (Web)
- Erstelle eine PHP-Datei, die "Hallo Welt" im Browser ausgibt
- Baue ein Formular und gib den eingegebenen Namen aus
- Erzeuge Variablen und gib sie im HTML aus
- Speichere einen Text in einer Datei und lies ihn wieder aus
Aufgaben (Konsole)
- Führe ein PHP-Skript auf der Konsole aus
- Übergib Parameter und gib sie aus
Ziel
- Verständnis für den Ablauf von PHP im Web
- Vorbereitung auf die weitere Anwendung