In der Woche vom 08. - 12. Juni 2009 findet bei der VHS Braunschweig ein Seminar zum Thema "Dynamische Webseiten mit PHP & MySQL" statt. Hier die Rahmendaten unseres Seminars:

Ort: Heydenstraße, Raum 2.01
Zeiten: Mo, 08.06. - Fr, 12.06.2009; jeweils 08.30 - 16.00 Uhr

Wir wünschen - wie immer - viel Spaß an unseren Seminaren.
Ihr Trainer Joe Brandes - 20090607

 

Wie immer können Sie in Artikeln zu ähnlichen Seminaren auf dieser Website weitere Infos finden.

 

Zu diesem Seminar soll an dieser Stelle ein erstes PHP-Skript erstellt werden:

<?php
    /*Ein erstes Skript:
      000_hallo_welt.php */
    echo 'Hallo Welt!';
?>

Rekapitulation Di, 09.06.2009:

  • Serverumgebung: LAMP / WAMP
    L(inux) oder W(indows), A(pache), M(ySQL), P(HP)
  • Konfigurationsdateien:
    Apache: httpd.conf
    PHP: php.ini (wichtig: register_globals
    MySQL: my.cnf (my.ini)
    Apache: techn: WWW-Server, Unix: httpd
    Lösung: www.apachefriends.org: X AMP P
    Server: http://localhost/uebungen/000_hallo_welt.php
    Lokal: c:\xampp\htdocs\uebungen\000_hallo_welt.php
  • Editoren: freie kostenlosen Tools (Scintilla)
    PSPad (Empfehlung für PHP)
    Notepad++
    Eclipse (PDT)
  • Kaufsoftware: MS Web Expression, Adobe DREAMWEAVER (!!)
    Tipp: www.cobra-shop.de/vhs
  • Browser: (techn: WWW-Client)
    MS IE 6 / 7 / 8
    Mozilla Firefox (Empfehlung wegen Erweiterungen addons.mozilla.org)
    Opera
    Google Chrome
  • Tools:
    Packer/ Zipper (Empfehlung: www.7-zip.org)
    FTP (Empf.: Filezilla)
  • Hilfe / Manuals / Handbücher:
    INTERNET !!!!
    PHP: PHP-Handbuch (deutsch)

Skript loeschen.php aus der Kontakteverwaltung von Do, 11.06.2009 mit ausführlicher Kommentierung:

<?php
  // einfügen der inc-Datei für DB-Zugriff
  require_once 'db.inc.php';
?>

<html>
<head>
  <title>Kontaktverwaltung</title>
</head>
<body>

<?php
  // Bedingung: ist GET-Variable id NICHT gesetzt?  
  if (!isset($_GET['id'])) {
    header('Location: index.php');  // Umleitung auf index.php
  }
 
  // Hauptzweig: id wird per GET übergeben
  // ===========
  // Bedingung: ist POST-Variable ok (Schaltfläche) NICHT gesetzt?
  elseif (!isset($_POST['ok'])) {
    // Variable id wegen Sicherheit nochmals checken und per int als Ganzzahl
    $id = (int)$_GET['id'];
    try {  // Exeption-Modell PHP5 - siehe unten dazgehöriger catch
     
      // nutze Klasse Singleton und dort erzeugte Instanz von mysqli
      $db = Singleton::holeVerbindung();    // Connection & neue Instanz
      $db->select_db('kontakte');           // Datenbank ko   ntakte wählen
     
      // Bedingungen:     (1) $ergebnis ist Ergebnisdatensatz
      // und Zuweisungen      der SELECT-Abfage mit Kriterium id= $id
      // und gleichzeitig (2) $zeile wird Objekt mit Eigenschaften von $ergebnis
      if ( ($ergebnis = $db->query('SELECT * FROM kontakt WHERE id=' . $id))
            && $zeile = $ergebnis->fetch_object() ) {
        printf('Wollen Sie wirklich den Datensatz Nr. %s (%s %s, %s) löschen?<br />' .
               '<form method="post" action="">
                  <input type="hidden" name="ok" value="true" />
                  <input type="submit" value="Löschen" />
                </form>',
                $id,
                htmlspecialchars($zeile->vorname),
                htmlspecialchars($zeile->nachname),
                htmlspecialchars($zeile->email));
      } else {
        echo 'Fehler: ' . htmlspecialchars($db->error) . '!</td></tr>';
        }
      $db->close();                         // Connection beenden
    } catch (Exception $ex) { // Exeption-Modell PHP5 für try siehe oben
      echo 'Fehler!';
      }
  }
    // hier war jetzt Schaltfläche gedrückt und ok wird true - also gesetzt
    else {
    // Variable id wegen Sicherheit nochmals checken und per int als Ganzzahl
    $id = (int)$_GET['id'];
    try {  // Exeption-Modell PHP5 - siehe unten dazgehöriger catch
     
      // nutze Klasse Singleton und dort erzeugte Instanz von mysqli
      $db = Singleton::holeVerbindung();
      $db->select_db('kontakte');
     
      // Bedingung:           $ergebnis ist Ergebnisdatensatz
      // und Zuweisung        der DELETE-Abfage mit Kriterium id= $id
      if ($ergebnis = $db->query('DELETE FROM kontakt WHERE id=' . $id)) {
        echo 'Datensatz gelöscht!';
      } else {  // konnte nicht löschen
          echo 'Fehler: ' . htmlspecialchars($db->error) . '!</td></tr>';
        }
    } catch (Exception $ex) {  // Exeption-Modell PHP5 für try siehe oben
        echo 'Fehler!';
      }
    }
?>

<p><a href="/index.php">Zur Startseite</a></p>
</body>
</html>


Das Nassi-Schneidermann-Diagramm (NSD):

loeschen.php - NSD

Serverkonfiguraion (PHP5) nutzen mittels .htaccess

#Definition, dass php5 ausgeführt werden soll
AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

  Privates

... zu Joe Brandes

Sie finden auf dieser Seite - als auch auf meiner privaten Visitenkarte joe-brandes.de einige Hintergrundinformationen zu mir und meinem Background.
Natürlich stellt die IT einen Schwerpunkt in meinem Leben dar - aber eben nicht nur ...

joe brandes 600px

Private Visitenkarte / Technik: HTML & CSS /
  joe-brandes.de

  Jobs

... IT-Trainer & Dozent

Ich erarbeite und konzipiere seit über 20 Jahren IT-Seminare und -Konzepte. Hierfür stehen der "PC-Systembetreuer / FITSN" und der "CMS Online Designer / CMSOD". Ich stehe Ihnen gerne als Ansprechpartner für Ihre Fragen rund um diese und andere IT-Themen zur Verfügung!

becss 600px

BECSS Visitenkarte / Technik: HTML & CSS /
  becss.de

  Hobby

... Snooker & more

Wer einmal zum Snookerqueue gegriffen hat, der wird es wohl nicht wieder weglegen. Und ich spiele auch immer wieder gerne eine Partie Billard mit den Kumpels und Vereinskameraden. Der Verein freut sich über jeden, der einmal in unserem schicken Vereinsheim vorbeischauen möchte.

bsb 2011 600px

Billard Sport BS / Joomla 3.x /
  billard-bs.de

PC Systembetreuer ist J. Brandes - IT seit über 35 Jahren - Technik: Joomla 3.4+, Bootstrap 3.3.4 und "Knowledge"

© 2018 - Websitedesign und Layout seit 07/2015 - Impressum - Datenschutzerklärung
Nach oben