ebook img

Erstellen von dynamischen Webseiten mit PHP und MySQL PDF

41 Pages·0.861 MB·German
by  Hahn A.
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Erstellen von dynamischen Webseiten mit PHP und MySQL

Erstellen von dynamischen Webseiten mit SQL PHP 3 my Andreas Hahn Projektgruppe Praxisorientierte Informatik Hochschule für Technik und Wirtschaft des Saarlandes Goebenstr. 40, 66117 Saarbrücken Erstellen von dynamischen Webseiten mit PHP3 und MySQL - 2 - Inhalt 1. Erstellen von dynamischen Webseiten mit PHP3 und MySQL......................................4 1.1 Datenbankprogrammierung unter MySQL..............................................................4 1.1.1 Einrichten von MySQL unter Linux................................................................4 1.1.1.1 Datenbankadministration.............................................................................5 1.1.1.2 Zugriffsrechte auf eine MySQL-Datenbank erteilen ....................................6 1.1.1.3 Tabellen einrichten....................................................................................11 1.2 Aufbau von PHP/FI ..............................................................................................13 1.2.1 Softwareunterstützung durch PHP/FI.............................................................13 1.2.2 Aufbau und Funktionsweise von PHP/FI.......................................................14 1.2.3 PHP in HTML einbinden...............................................................................15 1.2.4 Variablen in PHP..........................................................................................17 1.2.5 Parameterübergabe mit PHP..........................................................................18 1.2.5.1. Methode GET..............................................................................................18 1.2.5.2. Methode POST.............................................................................................20 1.3 Internetverbindung zu MySQL mittels PHP/FI...........................................................21 1.3.1. Verbindungsaufbau zu einer MySQL-Datenbank................................................21 1.3.2. Anweisungen an die MySQL-Datenbank senden...........................................22 1.3.2.1. Select-Operation....................................................................................22 1.3.3. Fehlerbehandlung bei gescheitertem Verbindungsaufbau....................................25 1.3.3.1. mysql_errno / mysql_error.....................................................................25 1.3.4. Zusammenfassung ..............................................................................................26 1.3.4.1. Beispielprogramm: Datenbank abfragen (bsp0.php3)......................................27 2. Beispieldatenbank Warenhaus...................................................................................29 2.1. Tabellenstruktur und Aufbau des Warenhauses..........................................................29 2.1.1. Tabelle Artikel:...................................................................................................30 2.1.2. Tabelle Bestellungen:..........................................................................................30 2.1.3. Tabelle Kunden:..................................................................................................30 2.1.4. Tabelle Lieferanten :...........................................................................................31 2.2. Rechtevergabe...........................................................................................................31 2.3. Darstellung im Internet..............................................................................................32 2.3.1. Überblick............................................................................................................32 Erstellen von dynamischen Webseiten mit PHP3 und MySQL - 3 - 3. Übungsaufgaben.............................................................................................................35 3.1. Artikel........................................................................................................................35 3.1.1. Alle Artikel anzeigen..........................................................................................35 3.1.2. Artikel eines Lieferanten.....................................................................................35 3.1.3. Artikeleinschränkung nach Preisen .....................................................................36 3.1.4. Suche eines Artikels............................................................................................36 3.1.5. Gegenüberstellung Artikel - Lieferant.................................................................36 3.1.6. Bestellung eines Artikels.....................................................................................36 3.2 Bestellungen...............................................................................................................37 3.2.1. Ausgabe aller Bestellungen.................................................................................37 3.2.2. Löschen von Bestellungen...................................................................................37 4. Zugriff auf Dateisystem..................................................................................................38 5. Quellennachweis:............................................................................................................40 5.1. Bücher.......................................................................................................................40 5.2 Links zu PHP/MySQL................................................................................................41 5.2.1. Dokumentationen zu PHP und MySQL...............................................................41 5.2.2. Mailinglisten.......................................................................................................41 5.2.3. MySQL Administrationsprogramme...................................................................41 Erstellen von dynamischen Webseiten mit PHP3 und MySQL - 4 - 1. Erstellen von dynamischen Webseiten mit PHP3 und MySQL 1.1 Datenbankprogrammierung unter MySQL MySQL ist eine relationale Datenbank, die auf Linux-, Solaris- oder Windows-Plattformen läuft. Die am häufigsten verwendeten Plattformen sind Linux und Solaris. Im Zusammenhang mit der Programmiersprache PHP/FI kann über das Internet auf Datenbanken zugegriffen werden. Abbildung 1: Client-/Server- Architektur einer MySQL Datenbank [Quelle: MySQL&msql S. 40] 1.1.1 Einrichten von MySQL unter Linux Aktuelle Versionen von MySQL können von folgender Internetseite kostenlos bezogen werden: http://www.mysql.com Verschiedene Linuxversionen beinhalten bereits eine MySQL-Distribution, so z.B. S.u.S.e- Linux. Erstellen von dynamischen Webseiten mit PHP3 und MySQL - 5 - Nach der Installation von MySQL sollte das Passwort des Administrators geändert werden. Der Befehl dazu lautet: mysqladmin –u root password ’meinneuespasswort’ Die Änderung des Passwortes hat den Vorteil, dass niemand ausser dem Administrator, Änderungen an bestehenden Datenbankdefinitionen vornehmen kann. Es ist ohne Passworteingabe nicht möglich, eine neue Datenbank aufzubauen. 1.1.1.1 Datenbankadministration Die Verwaltung von MySQL lässt sich mit dem Tool mysqladmin komfortabel gestalten. Mysqladmin ist ein mächtiges Werkzeug zum Erstellen oder Löschen von Datenbanken. Erstellen, bzw. Löschen einer Datenbank: Neue Datenbanken werden mit dem Befehl: mysqladmin –p create DATENBANKNAME erstellt. –p steht für das Passwort des Administrators steht. Wenn das richtige Passwort eingegeben wurde, wird eine neue, leere Datenbank angelegt. Da eine Datenbank unter MySQL eine Menge von Dateien in einem bestimmten Verzeichnis darstellt, generiert der Befehl mysqladmin ein neues Verzeichnis, um die Dateien der neuen Datenbank zu speichern. Wenn z.B. eine Datenbank namens „boersen“ erstellt wird, legt MySQL in seinem Hauptverzeichnis ein Unterverzeichnis mit dem Namen boersen an. Die Löschfunktion ist analog zur Erstellung einer Datenbank, mit dem Befehl: mysqladmin –p drop DATENBANKNAME Mit diesem Befehl wird die Datenbank vollständig gelöscht. Erstellen von dynamischen Webseiten mit PHP3 und MySQL - 6 - 1.1.1.2 Zugriffsrechte auf eine MySQL-Datenbank erteilen Um auf eine Datenbank zuzugreifen, muss sie für bestimmte Benutzer zugänglich gemacht werden. Die Verwaltung der Zugriffe auf Datenbanken unter MySQL wird durch die Datenbank mysql realisiert. In dieser Datenbank werden Zugriffsinformationen aller Datenbanken eingetragen. Es wird festgelegt, welche Anwender auf welche Datenbank zugreifen dürfen. Aufbau der Datenbank mysql: MYSQL-Datenbank USER DB HOST Die Datenbank mysql besteht folgenden drei Tabellen: • USER (cid:224) In der Tabelle user werden die Rechte der auf die Datenbanken zugreifenden Benutzer vergeben. Die erteilten Benutzerrechte in der Tabelle user gelten für alle Datenbanken, sobald in der Tabelle db keine gesonderte Zuordnung zwischen Benutzer und Datenbank erstellt wurde. • DB (cid:224) In der Tabelle db werden die Namen der erstellten Datenbanken festgelegt. Desweiteren ist es möglich, Benutzerrechte auf Datenbankebene zu erteilen. • HOST (cid:224) In der Tabelle host wird festgelegt, welcher Server auf welche Datenbank zugreifen darf. Im Folgenden werden die Tabellen der Datenbank mysql näher beschrieben. Erstellen von dynamischen Webseiten mit PHP3 und MySQL - 7 - Tabelle DB: Feld Typ Schlüssel Default Host Char(60) Primärschlüssel Db Char(32) Primärschlüssel User Char(16) Primärschlüssel Select_priv Enum(’N’,’Y ’) N Insert_riv Enum(’N’,’Y ’) N Update_priv Enum(’N’,’Y ’) N Delete_priv Enum(’N’,’Y ’) N Create_priv Enum(’N’,’Y ’) N Drop_priv Enum(’N’,’Y ’) N References_priv Enum(’N’,’Y’ ) N Index_priv Enum(’N’,’Y ’) N Alter_priv Enum(’N’,’Y ’) N Tabelle HOST: Feld Typ/Größe Schlüssel Default Host Char(60) Primärschlüssel Db Char(32) Primärschlüssel Select_priv Enum(’N’,’Y ’) N Insert_riv Enum(’N’,’Y ’) N Update_priv Enum(’N’,’Y’ ) N Delete_priv Enum(’N’,’Y ’) N Create_priv Enum(’N’,’Y ’) N Drop_priv Enum(’N’,’Y ’) N References_priv Enum(’N’,’Y ’) N Index_priv Enum(’N’,’Y ’) N Alter_priv Enum(’N’,’Y ’) N Tabelle USER: Feld Typ/Größe Schlüssel Default Host Char(60) Primärschlüssel User Char(16) Primärschlüssel Password Char(16) Select_priv Enum(’N’,’Y ’) N Insert_riv Enum(’N’,’Y ’) N Update_priv Enum(’N’,’Y ’) N Delete_priv Enum(’N’,’Y ’) N Create_priv Enum(’N’,’Y ’) N Drop_priv Enum(’N’,’Y ’) N Reload_priv Enum(’N’,’Y ’) N Shutdown_priv Enum(’N’,’Y ’) N Process_priv Enum(’N’,’Y ’) N File_priv Enum(’N’,’Y ’) N Grant_priv Enum(’N’,’Y ’) N References_priv Enum(’N’,’Y ’) N Index_priv Enum(’N’,’Y ’) N Alter_priv Enum(’N’,’Y ’) N Erstellen von dynamischen Webseiten mit PHP3 und MySQL - 9 - Erklärung zu den einzelnen Feldern: Host (cid:224) Hostname, z.B. localhost User (cid:224) Benutzername Password (cid:224) Benutzerpasswort Select_priv (cid:224) Nach bestimmten Datensätzen suchen Insert_priv (cid:224) Neue Datensätze hinzufügen Update_priv (cid:224) Ändern von Datensätzen Delete_priv (cid:224) Datensätze löschen Create_priv (cid:224) Anlegen neuer Tabellen oder Datenbanken Drop_priv (cid:224) Löschen von Tabellen / Datenbanken Reload_priv (cid:224) Neustart der Datenbank Shutdown_priv (cid:224) Datenbank herunterfahren Process_priv (cid:224) Serverprozesse managen File_priv (cid:224) Lesen oder Schreiben von Dateien mit folgenden Befehlen SELECT INTO OUTFILE und LOAD DATA INFILE Grant_priv (cid:224) Zugriff auf Tabellen anderer Benutzer Index_priv (cid:224) Erstellen von Indizes Alter_priv (cid:224) Absetzen des Befehls ALTER TABLE Um auf Datenbanken im MySQL-System zuzugreifen, müssen zunächst Zuordnungen zwischen Datenbankname, Hostname und Benutzereigenschaften hergestellt werden. Die Zuordnung erfolgt in der Datenbank mysql. Beispiel: Das folgende Beispiel zeigt eine Zuordnung zwischen Datenbankname, Hostname und Benutzereigenschaften. Datenbankname = boersen (cid:224) der Datenbankname boersen wird in die Tabellen db und host eingetragen. Hostname = localhost (cid:224) der Hostname localhost wird in die Tabellen host und user eingetragen. Erstellen von dynamischen Webseiten mit PHP3 und MySQL - 10 - Benutzername = user (cid:224) der Benutzername user wird in die Tabellen user und db eingetragen. Benutzerpasswort = user (cid:224) das Benutzerpasswort user wird in die Tabelle user eingetragen. In der Tabelle db wird der Datenbank boersen der Host localhost und Benutzer user zugeordnet. Desweiteren werden Zugriffsberechtigungen erteilt. In diesem Beispiel werden die Berechtidungen auf ’Y’ gesetzt. D.h. der Benutzer user erhält alle Rechte an der Datenbank boersen. insert into db values ('localhost','boersen','user','Y','Y','Y','Y','Y','Y','Y','Y','Y', 'Y'); In der Tabelle host wird dem Hostnamen localhost die Datenbank boersen zugeordnet. Der Host localhost erhält vollen Zugriff auf die Datenbank boersen. insert into host values ('localhost','boersen','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); In der Tabelle user wird dem Hostnamen ein Benutzer zugeordnet. Der Benuzter user erhält vollen Zugriff auf den Host localhost. Passwörter werden mit dem Syntax password(‘passwort’ )in die Tabelle user eingetragen. insert into user values ('localhost','user',password('user'),'Y','Y','Y','Y','Y','Y','Y','Y' ,'Y','Y','Y','Y','Y','Y');

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.