WEBPAGE COLLECTION Inhaltsverzeichnis Homepage ............................................................................................................................................................... 3 Ordner Struktur .................................................................................................................................................. 3 HTML ....................................................................................................................................................................... 4 Grundlagen ......................................................................................................................................................... 4 TAGS ............................................................................................................................................................... 4 Links .................................................................................................................................................................... 4 CSS ........................................................................................................................................................................... 5 PHP .......................................................................................................................................................................... 6 Vordefinierte Variablen ...................................................................................................................................... 6 ARRAYS ............................................................................................................................................................... 6 Grundlagen ..................................................................................................................................................... 6 ARRAY_UNIQUE () .......................................................................................................................................... 6 ARRAY_MULTISORT ()..................................................................................................................................... 6 ASORT ().......................................................................................................................................................... 7 ARSORT () ....................................................................................................................................................... 7 COUNT () ......................................................................................................................................................... 7 KSORT () .......................................................................................................................................................... 7 KRSORT () ........................................................................................................................................................ 7 PRINT_R ()....................................................................................................................................................... 7 RSORT () .......................................................................................................................................................... 7 SORT () ............................................................................................................................................................ 7 VAR_DUMP () ................................................................................................................................................. 7 Funktionen .......................................................................................................................................................... 7 DATE () ............................................................................................................................................................ 7 ELSE ................................................................................................................................................................ 7 ELSEIF () .......................................................................................................................................................... 8 EMPTY () ......................................................................................................................................................... 8 EXPLODE () ...................................................................................................................................................... 8 DEFINE () ......................................................................................................................................................... 8 IF ().................................................................................................................................................................. 8 MAIL () ............................................................................................................................................................ 8 TRIM () ............................................................................................................................................................ 9 Schleifen ............................................................................................................................................................. 9 Schleifen Befehle ............................................................................................................................................ 9 WHILE Schleife ................................................................................................................................................ 9 DO … WHILE Schleife ...................................................................................................................................... 9 FOR Schleife .................................................................................................................................................. 10 FOREACH Schleife ......................................................................................................................................... 10 Beispiele ....................................................................................................................................................... 11 File Handles....................................................................................................................................................... 12 EXIF_READ_DATA () ...................................................................................................................................... 12 FCLOSE () ...................................................................................................................................................... 12 1 WEBPAGE COLLECTION FGETS () ........................................................................................................................................................ 12 FOPEN () ....................................................................................................................................................... 12 FWRITE () ...................................................................................................................................................... 12 SESSIONS ........................................................................................................................................................... 12 MySQL ................................................................................................................................................................... 14 Engine ............................................................................................................................................................... 14 Datenbank anlegen ........................................................................................................................................... 14 Datenbank abfragen ......................................................................................................................................... 14 SELECT .......................................................................................................................................................... 14 INSERT INTO ................................................................................................................................................. 16 UPDATE......................................................................................................................................................... 16 DELETE .......................................................................................................................................................... 16 OFFICE 2010 .......................................................................................................................................................... 17 Links .................................................................................................................................................................. 17 2 WEBPAGE COLLECTION Homepage Ordner Struktur admin o bg_pics o css o fonts o icons o includes o js o pics external globalincludes o classes db.class.php debug.ini debugpanel.php functions.php globalconstants.php globalincludes.php update update.php update.sql update_functions.php uploads www o bg_pics o css body.css buttons.css fonts.css site_abc.css o fonts o icons o includes o js o pics site_abc.php site_abc_abc.php index.php localconfig.php Geschützter Admin Bereich (Ordner wie in "www") Enthält alle Hintergrundbilder Enthält alle CSS Dateien Enthält alle Font Dateien Enthält alle Steuerelement Bilder (Buttons) Enthält alle include Dateien Enthält alle JS Dateien Enthält diverse Bilder Enthält Externe Program Dateien Enthält Globale Include Dateien Enthält alle Klassen Datenbankzugriffs Klassen Sammelt die Arrays für die "debugpanel.php" Datei Gibt die Inhalte von Arrays aus für die Fehlersuche Enthält oft verwendete Funktionen Enthält wichtige Pfade Fasst alle "globalincludes" zusammen Enthält Datenbank update Dateien Hier werden die Update Befehle gespeichert Hier werden die Tabellen Eigenschaften gespeichert Die ausführende update Datei Hier werden alle Uploads gesammelt Öffentlicher Ordner Enthält alle Hintergrundbilder Enthält alle CSS Dateien Styles zum gestalten des Seiten Layouts Styles zum Gestalten der Steuerelemente Styles zum Gestalten der Schriften Benennung für Seitenabhängige Styles Enthält alle Font Dateien Enthält alle Steuerelement Bilder (Buttons) Enthält alle include Dateien Enthält alle JS Dateien Enthält diverse Bilder Benennung für Hauptreiter Dateien Benennung für Unterreiter Dateien Startseite Enthält die SQL Zugangsdaten 3 WEBPAGE COLLECTION HTML Grundlagen TAGS Alle wichtigen HTML Tags sind in folgender Tabelle zusammengefasst: HTML Befehle Sammlung.xls <canvas> Aufbau Links http://www.html-seminar.de http://de.selfhtml.org HTML / CSS Info Portal HTML / CSS / JavaScript Info Portal 4 WEBPAGE COLLECTION CSS 5 WEBPAGE COLLECTION PHP Vordefinierte Variablen $_SERVER[‘PHP_SELF‘] Enthält den Dateinamens des ausgeführten Script (Relativ zum Wurzelverzeichnis) $_SERVER[‘REMOTE_ADDR‘] IP-Adresse des Rechners, der die Seite angefordert hat $_SERVER[‘HTTP_HOST‘] Domainname $_SERVER[‘REDIRECT_URL‘] Die ursprüngliche aufgerufene URL $_SERVER[‘REDIRECT_STATUS‘] Ursprünglicher Statuscode ARRAYS Grundlagen Arrays sind Variablen mit mehr Möglichkeiten. In Arrays können viele Daten hinterlegt, ausgegeben, durchsucht und sortiert werden. Assoziative Arrays werden Arrays genannt die mit benannten Indizes versehen sind. Bsp. $variable[Datum] Array mit Inhalt füllen: $variable[] = “Text“; $variable[12] = “Text12“; $variable = array(“Text“, “Text2“, “Text123“); $variable = array(‘Datum‘ => 01022004); Füllt das Array und bekommt die nächst höhere freie Indiz Füllt das Array und bekommt das Indiz [12] Füllt das Array, Indiz [0], [1], [2] Füllt das Array Indiz [Datum] Mehrdimensionale Arrays haben mehrere Ebenen. Bsp. $variable[Datum][2012] oder $variable[3][8][0] ARRAY_UNIQUE () Entfernt doppelte Einträge in einem Array. Syntax: array_unique($variable) ARRAY_MULTISORT () Sortiert mehrere oder multidimensionale Arrays, nummerische Indies werden verworfen. Syntax: array_multisort($datum, SORT_DESC, $array) (Hier wird das $array nach dem $datum absteigend sortiert) Sortierreihenfolge: SORT_ASC = SORT_DESC = aufsteigend sortieren absteigend sortieren DEFAULT 6 WEBPAGE COLLECTION Sortiertypen: SORT_REGULAR = SORT_NUMERIC = SORT_STRING = vergleiche Felder normal vergleiche Felder numerisch vergleiche Felder als String DEFAULT ASORT () Sortiert den Inhalt eines Arrays, nach dem Wert aufsteigend. Indizes werden beibehalten. ARSORT () Sortiert den Inhalt eines Arrays, nach dem Wert absteigend. Indizes werden beibehalten. COUNT () Zählt die Anzahl der Elemente in einem Array, als Rückgabewert erhält man die Anzahl als Integer. Syntax: count ($array) KSORT () Sortiert ein Array nach dem Index, aufsteigend. KRSORT () Sortiert ein Array nach dem Index, absteigend. PRINT_R () Gibt Informationen von Variablen bzw. Arrays in lesbarer Form aus. Syntax: print_r($variable) RSORT () Sortiert den Inhalt eines Arrays, nach dem Wert absteigend. Indizes werden aufgehoben. SORT () Sortiert den Inhalt eines Arrays, nach dem Wert aufsteigend. Indizes werden aufgehoben. Syntax: sort($variable) VAR_DUMP () Gibt alle Informationen über Variablen bzw. Array aus. Im Gegensatz zu PRINT_R werden hier die Variablen Typen und andere Eigenschaften und Informationen auch mit ausgegeben. Syntax: var_dump($variable) Funktionen DATE () Gibt das Datum aus. Syntax: date(‘d.m.y‘) = 05.07.12 (y = Jahr 2stellig / Y = Jahr 4stellig) ELSE ELSE führt eine Aufgabe aus wenn der IF Ausdruck und alle etwaigen ELSEIF Ausdrücke als FALSE ausgewertet wurden. Wird ohne IF nicht verwendet. 7 WEBPAGE COLLECTION ELSEIF () ELSEIF, wie der Name schon sagt, ist eine Kombination aus IF und ELSE. Wie ELSE erweitert es eine IF Kontrollstruktur, um alternative Befehle auszuführen, wenn die ursprüngliche IF Bedingung nicht zutrifft. Im Gegensatz zu ELSE werden die Alternativ-Befehle aber nur ausgeführt, wenn die ELSEIF Bedingung zutrifft. EMPTY () Wenn die Variable leer ist, wird TRUE oder 1 zurückgegeben, ansonsten FALSE oder 0. Syntax: empty($variable) EXPLODE () Teilt einen String anhand einer Zeichenkette. Und Gibt ein Array aus Strings zurück. Syntax: explode(“|“, $variable) (Hier wird der String in der Variable bei jedem „|“ geteilt.) DEFINE () Definiert eine benannte Konstante, während der Laufzeit eines Scripts. Syntax: define(“ZEILENUMBRUCH“, “\r\n“) (Definitionen sollten immer großgeschrieben werden, zur besseren Zuordnung im Code) IF () Eine der wichtigsten Funktionen, sie führt eine Aufgabe aus wenn eine Bedingung erfüllt ist. Syntax: if($variable == TRUE) { Aufgabe } = Enthält die Variable den Wert TRUE, so wird die Aufgabe ausgeführt MAIL () Mit dieser Funktion kann man unter PHP E-Mails versenden. Syntax: mail($empfänger_emailadresse, $betreff, $nachricht, “From: “ . $absender_emailadresse) Beispiel: Will man die E-Mail als HTML Mail versenden, muss man auch noch den Content-Type und das Charset angeben. Hier ein etwas aufwendigeres Beispiel: 8 WEBPAGE COLLECTION TRIM () Alle Steuerzeichen (Leerzeichen, \t, \n, usw.) werden am Anfang und Ende entfernt. Syntax: trim($variable) Schleifen Schleifen Befehle BREAK; Beendet eine Schleife. RETURN; Liefert einen Wert zurück und beendet danach die Schleife. CONTINUE; Überspringt einen Schleifendurchlauf. WHILE Schleife Durch das WHILE wird die Schleife solange durchlaufen, bis die Bedingung erfüllt ist. while (Bedingung) { Aufgabe } Beispiele: Diese Schleife läuft solange der Wert von $i kleiner gleich 10 ist. Diese Schleife läuft solange bis alle Werte des Arrays „$ausgabe“ durchlaufen sind. DO … WHILE Schleife Die DO … WHILE Schleife ist der WHILE Schleife sehr ähnlich, außer dass der Wahrheitsausdruck erst am Ende eines jeden Durchlaufs geprüft wird. Das heißt diese Schleife wird immer mindestens einmal durchlaufen. do { Aufgabe } while ( Bedingung ) Beispiele: 9 WEBPAGE COLLECTION Diese Schleife wird exakt einmal durchlaufen, da nach dem ersten Durchlauf, die Bedingung nicht mehr erfüllt wird. FOR Schleife FOR Schleifen sind die komplexesten Schleifen. Die 1Anw wird vor der Ausführung der Schleife ausgeführt. Die 2Anw wird am Anfang der Schleife ausgeführt, solange diese TRUE ist, wird die Schleife weiterlaufen. Andernfalls endet die Schleife. Am Ende jedes Schleifendurchgangs wird die 3Anw durchgeführt. for ( 1Anw; 2Anw; 3Anw.) { Aufgabe } Beispiele: Dieses Beispiel gibt die Zahlen 1 bis 10 aus. FOREACH Schleife Die FOREACH Schleife dient einzig und alleine der Verarbeitung von Arrays. Das Array wird solange durchlaufen bis kein Element mehr gefunden wird, dies ist dann für die FOREACH Schleife die Abbruchbedingung. foreach ( $array as $value ) { Aufgabe } Dieser Syntax durchläuft das Array und weist die Werte der Variable $value zu. foreach ( $array as $key => $value ) { Aufgabe } Dieser Syntax weist auch den Schlüssel des Array Elements zu. Beispiele: Hier werden die Strings „Kirschen“, „Kiwis“ und „Äpfel“ dem Array $frucht zugewiesen und dann ausgegeben. Mit der FOREACH Schleife wird dann mit dem Array $element auf die einzelnen Array Inhalte zugegriffen ($frucht = gesammt Array / $element = $frucht[0]). Somit kann man $element als String ausgeben, wobei $frucht noch immer als Array ausgegeben werden würde. 10 WEBPAGE COLLECTION Hier werden alle assoziativen Indizes des Arrays und deren Werte ausgegeben. Beispiele Hier werden Daten aus einer Externen Datei geholt und verarbeitet. 11 WEBPAGE COLLECTION File Handles EXIF_READ_DATA () Liest die Meta-Daten aus JPEG und TIFF Dateien aus. (Muss in der php.ini Datei aktiviert werden) Syntax: exif_read_data($datei, ANY_TAG, true, true) (Liest alle Daten aus) FCLOSE () Schließt einen offenen Dateizeiger. Syntax: fclose($datei) FGETS () Liest eine Zeile von der Position des Dateizeigers Syntax: fgets($datei, 4096) (Hier wird eine Zeile mit max. 4096 Zeichen ausgelesen) Beispiel: Hier wird eine TXT Datei geöffnet und Zeilen weise ausgegeben. FOPEN () Öffnet eine Datei oder URL Syntax: fopen($datei, “a+“) (“a+“ steht für die Berechtigungen) Es gibt folgende Berechtigungen: Modus a+ a w+ w r+ r Aktion lesen und schreiben nur schreiben lesen und schreiben nur schreiben lesen und schreiben nur lesen Zeiger Ende Ende Beginn Beginn Beginn Beginn Erzeugen Ja Ja Ja Ja Nein Nein FWRITE () Schreibt Binärdaten in eine Datei. Syntax: fwrite($datei, $text) SESSIONS Sessiondaten sind Daten, die z.B. von einem PHP-Script auf dem Server gespeichert werden, und die meistens für die Dauer des Besuchs (Session/Sitzung) auf mehreren Pages einer Website ihre Gültigkeit behalten. session_start () Mit session_start() sagen wir dem PHP Script das diese Seite mit Sessions arbeitet. Muss immer ganz oben in der Seite stehen. 12 WEBPAGE COLLECTION session_unset () Diese Funktion leert die Session Datei, also entfernt die Inhalte der Variablen. session_destroy () Die Funktion session_destroy() veranlasst alle Variablen einer Session zu verwerfe und die Session gesammt zu löschen. 13 WEBPAGE COLLECTION MySQL Engine MyISAM InnoDB (My Indexed Sequential Access Method) Storage Engine (Archivierungs System) (Von der Firma Innobase Oy) Freie Storage Engine (Freies Archivierungs System) Erklärung: Erklärung: MyISAM ist eine Storage-Engine des Datenbankverwaltungssystems MySQL. Wird in Unix Systemen als Standard verwendet. Wird in Windows Systemen als Standard verwendet. Vorteile: Vorteile: Hohe Effizienz Leistungsfähige Volltextsuche Nachteile: Keine Transaktionen Keine referenzielle Integrität Datenbank anlegen Datenbank abfragen SELECT 14 Transaktionen über Fremdschlüssel referenzielle Integrität über Fremdschlüssel WEBPAGE COLLECTION SELECT wird zum Abrufen von Datensätzen verwendet, die aus einer oder mehreren Tabellen ausgewählt wurden. MYSQL Befehle werden zur besseren Erkennung immer in Großbuchstaben geschrieben. Tabelleninhalte wie Spaltennamen oder Tabellennamen werden klein geschrieben. Werte werden in ‘‘ gesetzt. (‘Horst Hubert‘, ‘$variable‘) SELECT Beispiele, für div. Abfragen: SELECT * FROM tabelle SELECT * FROM tabelle WHERE id='10' SELECT * FROM tabelle WHERE name LIKE 'horst' SELECT id, name FROM tabelle SELECT * FROM tabelle ORDER BY name SELECT * FROM tabelle ORDER BY name DESC SELECT * FROM tabelle LIMIT 5 SELECT * FROM tabelle LIMIT 4, 10 Holt alle Strings aus einer Tabelle Holt alle Strings aus einer Tabelle mit der id gleich 10 Holt alle Strings aus einer Tabelle die der Spalte name sind und Horst entsprechen. Holt alle Strings aus einer Tabelle in der Spalte id und name Holt alles Strings aus einer Tabelle sortiert mit der Spalte name, sie werden in aufsteigender Reihenfolge ausgegeben Wie oben, nur das die Ausgabe absteigend ausgegeben wird Gibt max. 5 Datensätze zurück Gibt 10 Datensätze, ab dem 5 Datensatz aus So wird eine einzelne Datenbank Abfrage zum Server gesendet. mysql_query() Beispiel, kurze schreibweise: $result = mysql_query('SELECT * FROM tabelle'); Beispiel, lange schreibweise: $sql = “SELECT * FROM tabelle“; $result = mysql_query($sql); Die Abfrage wird in $result gespeichert, und kann nun weiter verarbeitet werden. mysql_num_rows($result) mysql_affected_rows($result) mysql_fetch_array($result) mysql_fetch_lengths($result) Liefert die Anzahl der Zeilen, nur gültig für SELECT und SHOW Liefert die Anzahl der betroffenen Datensätze, nur gültig für INSERT, UPDATE und DELETE Gibt ein Array zurück, dass der gelesenen Zeilen entspricht und bewegt den internen Datenzeiger ([1], [2], ...) vorwärts Gibt ein Array zurück, dass die Länge der Strings enthält Beispiel: (Hier werden alle Einträge von der Tabelle $head abgefragt, und nach der ID sortiert in das Array $log gespeichert. Mit LIMIT wird die Abfrage bei 0 gestartet und speichert max. 5 Einträge absteigen sortiert (DESC).) Wenn die Datenbank Ausgabe beendet ist sollte die Variable $result wieder freigegeben werden. 15 WEBPAGE COLLECTION mysql_free_result($result) INSERT INTO INSERT fügt neue Datensätze in eine vorhandene Tabelle ein. Beispiel: (Hier werden in die Tabelle kunden, die Werte eingetragen. Wobei die Namen in der ersten Klammer, die Spaltennamen der Tabelle kunden sind. Nach VALUE werden in einer Klammer alle einzufügenden Werte aufgereiht. Sie werden in der gleichen Reihenfolge eingefügt wie sie hier aufgeschrieben sind.) UPDATE Die UPDATE Anweisung aktualisiert vorhandene Datensätze mit neuen Werten. Die SET Klausel gibt an, welche Spalten geändert werden und welche Werte diese erhalten sollen. Beispiel: (Hier wird in der Tabelle shop, die Spalte menge aktualisiert, wenn sie die ID $id hat.) DELETE Die DELETE Anweisung löscht Datensätze und gibt die Anzahl an gelöschten Datensätzen zurück. Beispiel: (Hier werden alle Datensätze der Tabelle Warenkorb gelöscht, welche die richtige IP haben.) 16 WEBPAGE COLLECTION OFFICE 2010 Links http://www.studium-und-pc.de 17