Lees als je nog niet bekend bent met SQL op W3Schools SQL de secties [SQL Intro] t/m [SQL Delete]
Lees als je nog niet bekend bent met MySQL vanuit PHP op W3Schools PHP de secties [MYSQL Database] & [MYSQL Insert Data] t/m [MYSQL Delete Data] m.u.v. [MYSQL Prepared]
NOTE: Gebruik vanuit PHP de "MYSQLi Procudural" commando's (Steeds 2de voorbeeld op W3 schools)
Voor meer informatie kan je ook kijken naar de MySQL Tutorial.
Lees over foutafhandeling binnen PHP in W3Schools het stuk over Exception Handling.
De eerste keer dat je inlogt wordt er niet om een password gevraagd, het is belangrijk dat je een sterk wachtwoord voor de root account aanmaakt, dit doe je alsvolgt:
Klik op het tabblad `User accounts`
Selecteer username 'root'
Klik op het tabblad `Change password`
Vul een sterk password in
Log uit (dit doe je door op het logotje naast het huisje te klikken)
Open de phpmyAdmin config file:
Windows:
- Open het XAMPP controle paneel
- Onder regel Apache selecteer `config` en selecteer `phpMyAdmin (config.inc.php)`
- MacOs:
- Open de file `/Applications/XAMPP/xamppfiles/phpadmin/config.inc.php` (as root)
Onder regel Apache selecteer `config` en selecteer `phpMyAdmin (config.inc.php)`
Pas de regel `$cfg['Servers'][$i]['auth_type'] = 'config';` aan naar `$cfg['Servers'][$i]['auth_type'] = 'cookie';`
Pas de regel `$cfg['Servers'][$i]['AllowNoPassword'] = true;` aan naar `$cfg['Servers'][$i]['AllowNoPassword'] = false;`
Refresh de pagina van PHPMyAdmin.
Login met "root" en het nieuwe password.
Maak een nieuw gebruikers account aan met je eigen naam in de naam bijv 'arjans_web_shop_user' en een sterk wachtwoord, en geef deze alleen SELECT, INSERT, UPDATE en DELETE rechten.
Gebruik dit useraccount in je PHP code (dus geen connectie maken met gebruiker 'root' vanuit PHP)
Gebruik altijd lowercase (Engelstalige) namen voor de tabellen en de kolommen, gebruik waar nodig een _ underscore.
Maak een database aan met je eigen naam in de database naam (bijv. arjans_webshop).
Maak een tabel "users" aan waarin de gebruikers worden geregistreerd.
Probeer het aantal keren dat je database geopend en gesloten worden alsmede het aantal queries per request te beperken! (max 2 per pagina)
LET OP: Op sommige computers kan PhPMyAdmin heel traag zijn, doe dan het volgende:
Open het XAMPP controle paneel
Onder Apache selecteer `config` en selecteer `phpMyAdmin (config.inc.php)`
Vervang de tekst "localhost" door "127.0.0.1" in de regel die lijkt op $cfg['Servers'][$i]['host'] = 'localhost';
Log uit PHPMyAdmin en log opnieuw in.
Vanuit je eigen code is dan $servername = '127.0.0.1'; sneller dan het $servername = 'localhost'; voorbeeld uit W3Schools.
Experimenteer wat met het SELECTEREN en INSERTEN van data in je database, vanuit PHP waarbij je het gebruikersaccount "WebShopUser" gebruikt.
Pas je code aan dat bij een "login" er efficient een record uit de database wordt opgenhaald.
Pas je code aan dat bij een valide "registratie" er een nieuw record (name, email, password) wordt weggeschreven in de users tabel.
Zorg voor een 'nette melding' als de database onverhoopt niet bereikbaar mocht zijn, of er een fout optreedt bij de queries.
Maak een export van je database en zet deze in de folder /database.
(optionele opdracht) Voeg een 'wachtwoord wijzigen' pagina toe (zichtbaar als je bent ingelogd). Die vraagt naar je oude wachtwoord en 2x je nieuwe wachtwoord.
[SQL Intro]
t/m[SQL Delete
]
[MYSQL Database]
&[MYSQL Insert Data]
t/m[MYSQL Delete Data
]
m.u.v.[MYSQL Prepared]
LET OP: Op sommige computers kan PhPMyAdmin heel traag zijn, doe dan het volgende:
localhost
" door "127.0.0.1
" in de regel die lijkt op$cfg['Servers'][$i]['host'] = 'localhost';
Vanuit je eigen code is dan
$servername = '127.0.0.1';
sneller dan het$servername = 'localhost';
voorbeeld uit W3Schools.