180 likes | 408 Views
PHP & MYSQL. LES 04 CMS: BEST PRACTICE. PHP & MYSQL. 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE. VORIGE KEER …. wat is (My)SQL PHPMyAdmin creëren van een tabel database verbinden met PHP SELECT statements INSERT statements DELETE statements
E N D
PHP & MYSQL LES 04 CMS: BEST PRACTICE
PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE
VORIGE KEER … • wat is (My)SQL • PHPMyAdmin • creëren van een tabel • database verbinden met PHP • SELECT statements • INSERT statements • DELETE statements • UPDATE statements • veilig queries uitvoeren
CMS: BEST PRACTICE • CM wat? • Web CMS • Templates • Sessies • Cookies • Case: inlog systeem • Case: dynamische pagina
CMS: BEST PRACTICECM wat? • CMS staat voor Content Management System • het CMS is ontstaan uit de behoefte om aplicaties te kunnen onderhouden zonder kennis van de onderliggende programmalaag te hebben. • Bouwen van een CMS kost veel tijd • Onderhouden is makkelijker met een goed CMS
CMS: BEST PRACTICEweb CMS • web CMS is specifiek voor website onderhoud en richt zich vaak op de inhoud van de website • Mbv een template kan ook de pagina zelf makkelijk onderhouden worden
CMS: BEST PRACTICEtemplates 01 • een template is een vaste herbruikbare structuur waar de dynamische inhoud in gezet kan worden
CMS: BEST PRACTICEtemplates 02 • en nu schematisch menu component header component menu component eigenlijke pagina login / out component random foto component blog component
CMS: BEST PRACTICEtemplates 03 • met include kan een php / inc file worden toegevoegd aan een andere php file <?php include “pages/welkom.inc"; ?> • er is ook: require
CMS: BEST PRACTICEtemplates 04 • wanneer een include file niet aanwezig is geeft PHP een waarschuwing maar de pagina laadt wel door • wanneer een require file niet aanwezig is geeft PHP een fatal error en stoptmet het laden van de pagina
CMS: BEST PRACTICEtemplates 05 • voordelen van templates op een rij • lay-out hoef je maar 1 keer te definiëren • programma code wordt overzichtelijker en onderhoudbaar gemaakt • gemakkelijk te gebruiken in combinatie met een CMS • nadelen op een rij • Kost veel tijd om op te zetten • Vereist scripttaal als basis
CMS: BEST PRACTICEsessies 01 • Een sessie is de periode waarin een persoon binnen een website aan het browsen is. • Met PHP kan je binnen die sessie, gegevens opslaan met $_SESSION[] • sessie variabelen zijn handig wanneer je waarden van een gebruiker wil bijhouden tijdens zijn bezoek
CMS: BEST PRACTICEsessies 02 • een voorbeeld in PHP session_start(); // aangeven dat je sessies gebruikt $_SESSION[‘naam’] = “Chris”; // Sessie aanmaken echo $_SESSION[‘naam’]; // Sessie uitlezen session_unregister(‘naam’); // Sessie verwijderen
CMS: BEST PRACTICEcookies 01 • een cookie is een klein stukje informatie dat op het systeem van de gebruiker staat tot het verlopen is • Met PHP kan je een cookie opslaan met setcookie(naam, waarde, verlooptijd); • Cookie variabelen zijn handig om voor een langere tijd gegevens op te slaan van een gebruiker
CMS: BEST PRACTICEcookies 02 • een voorbeeld in PHP setcookie(“naam”, ”Jarno”, time()+(3600*24*30)); // cookie verloopt na 30 dagen echo $_COOKIE[‘naam’]; // Cookie uitlezen // Cookie verwijderen setcookie(“naam”, “”, time()+1);
CMS: BEST PRACTICEcase: inlog systeem 01 • een CMS mag niet voor iedereen toegankelijk zijn, dus gebruik je een inlog systeem naam: wachtwoord: inloggen • hierboven een simpel formulier dat verzendt met de post methode naar een PHP bestand
CMS: BEST PRACTICEcase: inlog systeem 02 • haal het wachtwoord op uit de database, door de naam mee te geven als unieke sleutel • met md5() kan je een wachtwoord veilig versleutelen naar een string van 32 hexadecimale waarden • wanneer er een wachtwoord terug komt uit de database en deze overeen komt met het ingegeven wachtwoord, dan wordt de gebruiker ingelogd, door een sessie te maken
CMS: BEST PRACTICEcase: inlog systeem 03 • elke pagina van de website die aangepast moet kunnen worden (of zit in template) controleert of de inlog sessie bestaat en laat zo wel / niet bewerk knoppen zien