Webapplikationen I (PHP Advanced)

In dieser Unterrichtsstunde wurde die Programmiersprache PHP und der Umgang damit weiter vertieft. Dabei wurde zuerst bereits Bekanntes wiederholt und im Anschluss einfache PHP-Strukturen in Erinnerung gerufen, um wieder allmählich in die Syntaxschreibweise dieser Sprache hineinzukommen. Durch den zuvor erlernten Umgang mit Datenbanken und SQL-Abfragen sowie virtuellen Webserverapplikationen, konnte in dieser Stunde die Verbindung zwischen diesen beiden Webentwicklungsbereichen (PHP und SQL) geschaffen werden. Dazu wurde ein einfaches PHP-Skript innerhalb einer Projektseite erstellt, welches aus der bereits bekannten TERRA-Datenbank gewisse Datensätze auf der Webseite abbildete. In diesem Sinne wurde zuerst ein kurzes Verbindungsskript programmiert, welches mittels richtiger Zeichenkodierung und Error-Exception eine Datenbankverbindung aufbaut und anschließend diverse SQL-Queries dazugeschrieben, um die Übergabe von Abfragewerten in Variablen zu üben und die Ausgabe von Ergebnissen zu kontrollieren. Abschließend wurde noch der Unterschied zwischen einer iterativen Ausgabe (z.B. while-Schleife) sowie einer fetched-Variable (fetched Werte einzelner Tabellenspalten) erklärt und nachträglich innerhalb der PHP-Skripte getestet.


Kompetenzen

  1. Ich kenne den Unterschied zwischen HTML und PHP und weiß wie PHP in Webseiten eingreifen kann.
  2. Ich verstehe wie Webserver und Datenbankserver im Hintergrund einer Webseite arbeiten und kenne virtuelle Applikationen.
  3. Ich verstehe wie man PHP-Funktionen aufrufen kann und kann mir über Manual-Pages der PHP-Dokumentation weiterhelfen.
  4. Ich kann kleinere PHP-Skripts erstellen und die Ergebnisse dieser mit Hilfe des echo Befehls ausgeben lassen.
  5. Ich kann Kontrollstrukturen wie Verzweigungen oder Schleifen in PHP programmieren und verstehe das Prinzip hinter ihnen.
  6. Ich verstehe wie man ein Verbindungsskript in PHP schreibt und welche Elemente dafür benötigt werden.


Vertiefung

dbconnect.php
<?php
  $db_host = 'localhost';
  $db_username = 'root';
  $db_password = 'root';
  $db_name = 'testdb';
 
  $dbconnect = new mysqli($db_host, $db_username, $db_password, $db_name);
  mysqli_set_charset($dbconnect, 'utf8');
 
  if (mysqli_connect_errno())
  {
    echo 'Verbindungsfehler zur MySQL Datenbank - Fehlercode: ' . mysqli_connect_error();
  }
?>
citycheck.php
<?php
  $citycheck = "SELECT Name FROM ort WHERE Einwohner >= 100000 LIMIT 10";
  $dbconnect->real_escape_string($citycheck);
  $query = mysqli_query($dbconnect, $citycheck);
  $numrows = mysqli_num_rows($query);
  $cities = '';
 
  if ($numrows == 0) {
    $cities.= '<p>Keine Orte gefunden!</p>';
  }
  else {
    while($row = mysqli_fetch_assoc($query)) {
      $cities.= '<p>'.$row['Name'].'</p>';
    }
  }
  echo $cities;
?>


Unterrichtsmaterialien