PHP Schulungs Skript

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

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 ?>

<?php
echo "Hallo Welt";
?>
  • echo gibt Text aus
  • Jede Anweisung endet mit ;

PHP und HTML

<!DOCTYPE html>
<html>
<body>

<h1>Testseite</h1>

<?php
echo "Hallo Welt";
?>

</body>
</html>

Variablen

<?php
$name = "Server01";
$os = "Linux";

echo "$name - $os";
?>

Daten vom Benutzer

  • Formulare senden Daten an PHP
  • Zugriff erfolgt über $_POST
<!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");
?>

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

Lösungen (Web)

Aufgabe 1
<?php
echo "Hallo Welt";
?>
Aufgabe 2
<!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>
Aufgabe 3
<?php
$name = "Server01";
$os = "Linux";

echo "$name - $os";
?>
Aufgabe 4
<?php
file_put_contents("test.txt", "Test");
echo file_get_contents("test.txt");
?>

Lösungen (Konsole)

Aufgabe 5
<?php
print_r($argv);
?>
Aufruf
   php test.php test1 test2

Ziel

  • Verständnis für den Ablauf von PHP im Web
  • Vorbereitung auf die weitere Anwendung