php Quelltext

PHP Einführung



Ideen: M. Metz, M. Retzbach, M. Heintz Elektronikschule Tettnang
T. Wegener, "PHP5 Grundlagen Erstellung dynamischer Webseiten", Herdt Verlag, 2008
S. Heller, "PHP 8.0 Dynamische Webseiten erstellen", Herdt Verlag, 2021


PHP ist eine Open Source Scriptsprache zum Erstellen von Internetseiten.

In diesem Artikel werden die Grundlagen von PHP erklärt und benötigte Programme vorgestellt. Neben der Aus- und Eingabe von Daten werden Variablen und Operatoren erklärt.

PHP notwendige Software



PHP (Hypertext Preprocessor) ist eine Open Source Scriptsprache zum Erstellen von Internetseiten. Die entsprechenden Anweisungen werden direkt in HTML integriert. Dabei kann man Formulardaten einlesen, Berechnungen durchführen und Ergebnisse ausgeben. Außerdem kann man Daten in eine Datenbank schreiben oder von einer Datenbank lesen.

Damit HTML ein php-Skript ausführen und eine Datenbankverbindung aufgebaut werden kann, benötigt man folgende Software:

  1. Webserver, bspw. Apache
  2. PHP
  3. Datenbank, bspw. MySQL

Linux-Nutzer können dies über folgende Befehle installieren:
~ $ sudo apt upgrade
~ $ sudo apt install apache2
~ $ sudo apt install php
~ $ sudo apt install mariadb-server mariadb-client
~ $ sudo apt install phpmyadmin
Alternativ kann man auch unter dem Begriff LAMP ein entsprechendes Komplettpaket installieren.

Für Nutzer von Windows oder Mac-OS empfiehlt sich die Installation von XAMPP, da hier ein Webserer, PHP, PHPMyAdmin und MySQL in einem Paket installiert werden.

Daten ausgeben PHP in HTML einbinden



PHP wird folgendermaßen in HTML eingebunden:
<?php ... ?>

Text und Daten werden über den Befehl echo sichtbar. Der php-Quellcode ist für den Nutzer unsichtbar. Zum Testen legt man eine Datei phptest.php im Verzeichnis des Webservers ab und speichert in ihr folgenden Inhalt:
<?php
  //Dies ist ein Kommentar
  echo 'My 1st php website.';
?>

Erstellen einer php Webseite

Welcome to my 1st php website.

PHP Version 8.0.3
  • <?php
      /*Dies ist ein mehrzeiliger Kommentar:
      Jede Befehlszeile wird mit einem
      Semikolon beendet.*/
      echo "My 1st php website.";
      //php-Version anzeigen:
      phpinfo();
    ?>

Daten eingeben Daten im Formular eingeben und anzeigen



Mit Hilfe von PHP können Formulardaten ausgewertet werden. Die Daten werden dabei mit den Methoden POST (Daten im Header) oder GET (Daten in URL) an den PHP-Programmteil übermittelt. Mit dem Attribut action wird die Zielseite festgelegt, welche beim Senden des Formulars aufgerufen wird.
<form method="GET" action="ziel.php">
  <input type="number" name="wert1">
  <input type="submit" value="Senden">
</form>

Auf der Zielseite wird über folgenden Befehl auf einen Wert zugegriffen.
<?php echo $_GET['wert1'];?> oder <?= $_GET['wert1'] ?>

Daten Eingabe über Formular

👍

  • <form method="GET" action="#formulareingabe">
      <label for="wert1">Likes</label>
      <input type="number" class="form-control" id="wert1" name="wert1">

      <button type="submit" class="btn btn-outline-secondary">Senden</button>
    </form>

    <p>👍 <?php echo $_GET['wert1'];?></p>

Dateneingabe über Checkbox
Pizza mit:

🍕Zutaten: 0 €

  • <form method="GET" action="#formulareingabe">
      <input class="form-check-input" type="checkbox" value="0.8" id="flexCheck1" name="zutat1">
      <label class="form-check-label" for="flexCheck1"> Ananas 🍍 </label>
      <input class="form-check-input" type="checkbox" value="1.2" id="flexCheck2" name="zutat2">
      <label class="form-check-label" for="flexCheck2"> Bacon 🥓 </label>

      <button type="submit" class="btn btn-outline-secondary">Senden</button>
    </form>

    <p> 🍕Zutaten: <?php echo $_GET['zutat1']+$_GET['zutat2'];?> </p>

Entspann dich erstmal ...



Rezept für 10 Stück bayrische Wurzn:

  • 40 g Roggenmehl
  • 60 g Weizen Vollkornmehl
  • 300 g Mehl 405
  • 300 g Wasser
  • 100 g Sauerteig
  • 100 g Mehlkochstück
  • 5 g Hefe
  • 12 g Salz

Mehlkochstück: 20 g Mehl in 100 ml Wasser unter Rühren aufkochen.

Teig mit zuerst 200 ml Wasser kneten. Rest Wasser nach und nach zugeben. Teig über Nacht im Kühlschrank offen stehen lassen, so dass sich oben eine Kruste bildet. Am nächsten Morgen Teig auf Mehl ausbreiten und Teiglinge abstechen, verdrehen und mit der Kruste nach oben aufs Blech legen.

Mit viel Wasserdampf etwa 15 Minuten bei 240 °C backen.


Übung 1 Formulardaten auswerten

Schweinewürstchen

Tabelle: Grillen
name vorname 🥩 🥨
Maier Sepp 2 1
Pfeiffer Arndt 1 1
Lindner Xaver 3 2
Grillparty: Die Anzahl an Steaks und Brezeln soll eingeben werden.
  1. Entwirf ein Formular zur Eingabe von Steaks und Brezeln.
  2. Nenne jeweils mindestens drei Eigenschaften der beiden Übertagungsarten GET und POST.
  3. Beim Senden der Daten sollen die Formularwerte in der URL sichtbar sein und durch ein Sprungmarke auf der gleichen Seite ausgewertet werden.
Auswertung der Daten.
  1. Gib nach dem Senden der Formulardaten die Bestelldaten aus.
  2. Summiere die Anzahl der Steaks und Brezeln bei mehrfacher Eingabe und lass die Gesamtmenge anzeigen.

Übung 2 build your own salad 🥗

Salat und Smoothies

Die Menükarte "build your own salad" der Salatfarm Ohkajhu aus Chiang Mai in Thailand soll digitalisiert werden. Ein Salat wird in vier Schritten zusammengestellt und kostet in der Basisvariante 50 THB. Nutze Checkboxen und Radiobuttons.

  1. Step 1: You can choose 1 salad.
  2. Step 2: You can choose 5 free toppings.
  3. Step 3: You can choose 1 free dressing.
  4. Step 4: Add more extra topping.
  5. Ergänze das Menü mit Icons.
  6. Gib den Gesamtpreis am Ende an.
Tabelle: build your own salad
Salad red oak, green oak, lettuce, iceberg, green coral, baby salad, mixed salad
Topping corn, asparagus, tomato, onion, egg, pepper, carrot, pumpkin seed, sunflower seed
Dressing thousand island, blue cheese, cream, cesar, tofu, garlic, italian vinaigrette, black sesame
Extra Topping roasted pork 25 THB, bacon 25 THB, pineapple 20 THB, chicken 35 THB, tuna 35 THB

Übung 3 Welche Aussage ist wahr?

Wähle die korrekten Aussagen aus.

Markiere die korrekten Kommentarzeilen in php.
Wähle zwei Antworten.

  1. <!-- Kommentar 1-->
  2. /Kommentar 2
  3. // Kommentar 3
  4. /* Kommentar 4*/


Nenne die beiden Methoden zur Übertragung der Daten.
Wähle zwei Antworten.

  1. method="JQUERRY"
  2. method="GET"
  3. method="AJAX"
  4. method="POST"



Nenne das notwendige Attribut des input-Tags für eine Übertragung. Wähle eine Antwort.

  1. class
  2. type
  3. name
  4. id


Nenne das zusätzlich notwendige Attribut für Checkboxen.
Wähle eine Antwort.

  1. value
  2. id
  3. class
  4. name


Greife auf den Checkboxwert name="wert1" zu.
Wähle eine Antwort.

  1. <?= $_GET['wert1'] ?>
  2. <?=$wert1?>
  3. <?=wert1?>
  4. <?=GET_$wert1?>


Nenne Formulartypen die das Attribut value="..." benötigen. Wähle zwei Antworten.

  1. type="email"
  2. type="checkbox"
  3. type="radiobutton"
  4. type="password"

Variablen und Operatoren Datentypen



Variablen sind Platzhalter auf denen Werte gespeichert werden können. Je nach Größe der Variable wird unterschiedlich viel Speicher benötigt. Hieraus ergibt sich der Datentyp.

Datentyp Bezeichnung Beispiel
Ganzzahl integer 314
Kommazahl double 3.14
Zeichenkette string "text" oder "Text"
Felder array (1,2,3,4) oder ("Ulm","Fulda")

Mit arithmetischen Operatoren können Berechnungen durchgeführt werden.

Operator Name
+, - Addition, Subtraktion
*, / Multiplikation, Division
% Modulo
++, -- Inkrementieren, Dekrementieren
mit Variablen rechnen
kg 🍋 ⋅ 2.38 € 0 €
kg 🫐 ⋅ 8.1 € 0 €
kg 🍒 ⋅ 4.9 € 0 €
Summe 0 €
  • <form method="GET" action="#formulareingabe2">
      <label for="lemon">🍋 Zitronen in kg</label>
      <input type="number" class="form-control" id="lemon" step="0.5" name="lemonQuantity">

      <label for="cherry">🍒 Krischen in kg</label>
      <input type="number" class="form-control" id="cherry" step="0.5" name="cherryQuantity">

      <button type="submit" class="btn btn-outline-secondary">Senden</button>
    </form>

    <?php
    //Auswertung
    $lemonPricepkg = 2.38;
    $cherryPricepkg = 4.9;

    $lemonPrice = $lemonPricepkg * $_GET['lemonQuantity'];
    $cherryPrice = $cherryPricepkg * $_GET['cherryQuantity'];

    $totalPrice = $lemonPrice + $cherryPrice;
    ?>

    <table class="table table-striped">
      <tr>
        <td><?=$_GET['lemonQuantity']?> kg 🍋 ⋅ <?=$lemonPricepkg?> €</td>
        <td><?=$lemonPrice?> €</td>
      </tr>
      <tr>
        <td><?=$_GET['cherryQuantity']?> kg 🍒 ⋅ <?=$cherryPricepkg?> €</td>
        <td><?=$cherryPrice?> €</td>
      </tr>
      <tr>
        <td>Summe</td>
        <td><?=$totalPrice?> €</td>
      </tr>
    </table>

Übung 4 Arbeiten mit Variablen

Einkaufsfromular
  1. Erstelle ein Einkaufsformular für sechs Artikel.
  2. Gib die Preise an.
  3. Berechne den Gesamtpreis mit und ohne MwSt.

Übung 5 Welche Aussage ist wahr?

Wähle die korrekten Aussagen aus.

Nenne korrekte Variablen.
Wähle beliebig viele Antworten.

  1. int dayCount
  2. $dayCount
  3. $day_Count
  4. integer wert


Die Variable $count soll den Wert 2 erhalten.
Wähle beliebig viele Antworten.

  1. $count; $count = 2;
  2. $count = 2;
  3. $a=3; $count = $a-1;
  4. $i; $j=2; $i=2*$j; $count = $j/$i;



Nenne arithmetische Operatoren.
Wähle zwei Antworten.

  1. +
  2. &
  3. >=
  4. *


Nenne den korrekten Datentyp zum speichern eines Satzes.
Wähle eine Antwort.

  1. integer
  2. double
  3. string
  4. boolean



Wortliste und Satzbausteine



PHP eine Open Source Scriptsprache (Hypertext Preprozessor)
PHP in HTML einbinden <?php ... ?>
der Kommen­tar, -e //1zeiliger Kommentar, /*mehrzeiliger Kommentar*/
die Formular­methode GET, -n method="GET" Daten werden in der URL übertragen
die Formular­methode POST, -n method="POST" Daten werden im Header übertragen
die Check­­box, -en besteht aus min­destens einem Auswahl­button, wobei mehrere Optionen mög­lich sind
der Radio­­button, ~ ist ein Auswahl­button mit nur einer Option aus mehreren Optionen
die Variable, -n ein Platzhalter, auf dem ein Wert gespeichert wird
der Daten­typ, -en Format und Größe von Daten
inkrementieren hochzählen eines Wertes