Seite 1Maria, Philipp, Herbert Seite 1 Fitnessplaner Ziele: >Fitnessplaner für Onlinebetrieb >Registrierung >individuelle Trainingsplanerstellung >Kontrolle durch Soll/Istvergleich >Kalenderdownload
Seite 2 Event Maria, Philipp, Herbert Trainingsdetails TrainingsplanTraining_Status Training_Hauptgruppe Training_Untergruppe Training_Uebung User User_Role User_Trainingsplan
Seite 3 Login Maria, Philipp, Herbert
Seite 4 Aufbau der index.php Maria, Philipp, Herbert <?php Session ?> javascript zur Datenvalidierung <html Formular /html>
Seite 5 Bei falscher Eingabe Maria, Philipp, Herbert header("Location: index.php?falsch"); if (window.location.search == "?falsch") { document.getElementById("falsch").innerHTML = "Benutzername und/oder Passwort falsch"; }
Seite 6 Aufbau der login.php Maria, Philipp, Herbert <?php Session Datenbankverbindung aufbauen Eingabe mit Daten in db vergleichen Weiterleitung zum Kalender ?>
Seite 7 Session Maria, Philipp, Herbert Merkmale eines Users zwischenspeichern PHP bietet einige Funktionen mit und ohne Cookies vorgegebener Einstieg bei Starseite
Seite 8 Sessionteil der Startseite Maria, Philipp, Herbert /*Vor Beenden der Session wieder aufnehmen */ session_start(); /*Beenden der Session*/ session_destroy(); /*$_SESSION mit neuem array initialisieren*/ $_SESSION = array();
Seite 9 Sessionteil der Folgeseiten Maria, Philipp, Herbert /*Session wieder aufnehmen */ session_start(); /*Kontrolle, ob innerhalb der Session */ include "insession.inc.php";
Seite 10 insession.inc.php Maria, Philipp, Herbert <?php /*Kontrolle, ob innerhalb der Session */ if(!isset($_SESSION["username"])) { … echo " Zum Login "; … exit; } ?>
Seite 11 SQL Injection Maria, Philipp, Herbert Code in SQL-Statements einschleusen Spionage Code kann Daten abfragen Sabotage Code kann Daten löschen
Seite 12 Escapen der Eingabe Maria, Philipp, Herbert sprintf( "SELECT * FROM user WHERE username = '%s' and password = '%s' ", mysql_real_escape_string($username), mysql_real_escape_string($password))
Seite 13 Maskieren der Eingabe Maria, Philipp, Herbert $str = "Ist dein Name wirklich O'reilly?"; echo addslashes($str); // Ausgabe: Ist dein Name wirklich O\'reilly?
Seite 14 Kalender Maria, Philipp, Herbert
Seite 15 Objektorientierte Umsetzung >Erstellung von Klassen »Analog den Tabellen der Datenbank >Auslagern aller Methoden in die Klassen »Bsp: Kalendereinträge (Events) des aktuellen Users abfragen public function getEvents() { $sql = new Mysql(); $sql->query('SELECT * FROM events WHERE user_id ='. $this->user_id); $events = array(); while ($row = $sql->fetchRow()) $events[] = new Event($row['user_id'], $row['event_id'], $row['date'], $row['time'], $row['training_status'], $row['trainingsplan_id']); return $events; $sql->disconnect(); } Maria, Philipp, Herbert
Seite 16 Objektorientierte Untersützung >Aufruf der Klassenobjekte und Methoden in den einzelnen Files »Bsp: Userobjekt mit der userid holen $user = User::getUserbyId($userid); »Bsp: Kalendereinträge dieses Users holen $userevents = $user->getEvents() Maria, Philipp, Herbert
Seite 17 CSS 3 >Schatten table { -moz-box-shadow: 10px 10px 5px #888; width: 95%; } >Abgerundete Ecken table th.titel {... border: 1px solid #000; -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px;... } Maria, Philipp, Herbert
Seite 18 CSS 3 >Box-sizing div.split { -moz-box-sizing: border-box; -webkit-box-sizing: border-box;.... } >Border colors border: 8px solid #000; -moz-border-bottom-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc; Maria, Philipp, Herbert
Seite 19 CSS 3 >Border image »Border-image »Border-corner-image Maria, Philipp, Herbert
Seite 20 CSS 3 >Mehr unter: >Spezifikation & Roadmap: Maria, Philipp, Herbert