# Gepost op 08-01-2010 23:22
Dit artikel systeem wordt vrij basic. Iedereen kan een artikel maken, iedereen kan reageren. Ik heb vrijwel geen beveiliging erin (zoals captcha) om het nog enigzins simpel te houden. Deze tutorial is puur zodat jij de basis van een artikelsysteem kan bouwen. De rest mag je zelf doen, al is hulp vragen natuurlijk atlijd mogelijk. Dit keer gebruik ik geen OOP.
Stap 1: De database
De volgende SQL code kan je gebruiken om de database op te zetten:
Stap 2: De belangrijkste code
Met deze code kan je artikelen weergeven. Alle artikelen verschijnen als links. Indien je op een link klikt ga je naar dat artikel. Ook wordt er in deze code de formulieren afgehandeld voor reacties en voor een nieuw artikel.
Let erop dat je je mysql inloggegevens moet invullen, en de juiste database moet kiezen.
Stap 3: De formulieren
Nu de formulieren om reacties en artikelen toe te voegen.
Voor de artikelen
Voor de reacties
Tot slot
Nu hebben we een werkend artikel systeem. Maar het is natuurlijk nog erg kaal. Je kan er nog leuke dingen mee doen zoals het toevoegen als een ubb parser. Een inlogsysteem zou handig zijn om te zorgen dat alleen admins artikelen kunnen plaatsen. Misschien maak ik later nog een OO versie van deze tutorial.
Stap 1: De database
De volgende SQL code kan je gebruiken om de database op te zetten:
- CREATE TABLE IF NOT EXISTS `artikelen` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `titel` varchar(300) NOT NULL,
- `bericht` text NOT NULL,
- PRIMARY KEY (`id`)
- );
- CREATE TABLE IF NOT EXISTS `reacties` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `art_id` int(11) NOT NULL,
- `bericht` text NOT NULL,
- PRIMARY KEY (`id`)
- ) ;
Stap 2: De belangrijkste code
Met deze code kan je artikelen weergeven. Alle artikelen verschijnen als links. Indien je op een link klikt ga je naar dat artikel. Ook wordt er in deze code de formulieren afgehandeld voor reacties en voor een nieuw artikel.
- <?php
- // Connectie
- // Artikel ID opvragen van de url
- // Kijken of er een post-verzoek is
- if($_SERVER['REQUEST_METHOD'] == 'POST') {
- // kijken wel formulier
- switch($_POST['action']) {
- // Post een artikel
- case 'artikel':
- $SQL = "INSERT INTO artikelen ";
- break;
- // Post een bericht
- case 'bericht':
- $SQL = "INSERT INTO artikelen ";
- break;
- }
- }
- // De query. Ziet er ingewikkeld uit, maar is niet zo moeilij.
- // Eerst alles uit de nieuwsbericht tabel (let op a.veldnaam):
- $SQL = "SELECT a.id, a.titel, a.bericht ";
- // Kijken of we een bepaald artikel willen opvragen of juist alle
- if($id) {
- // Nu alles uit de reactie tabel (let op r.veldnaam)
- $SQL .= ", r.id, r.art_id, r.bericht AS r_bericht FROM artikelen AS a ";
- // Reactie tabel erbij laden zoalang id uit tabel nieuwsberichten gelijk is aan nb_id uit de reactie tabel
- $SQL .= "LEFT JOIN reacties AS r ON a.id = r.art_id ";
- // Waar het nieuwsbrief id gelijk is aan wat de user wil opvragen
- } else {
- $SQL .= " FROM artikelen AS a ";
- }
- // Kijken of de query resultaat oplevert
- $firstresult = false;
- if(!$id) {
- // Eerst het nieuwsbericht weergeven
- if(!$firstresult) {
- ?>
- <?php
- }
- } else {
- // Eerst het nieuwsbericht weergeven
- if(!$firstresult) {
- ?>
- <p>
- </p>
- <b>Reacties</b><br />
- <?php
- // Firstresult op true zetten, want we willen het artikel zelf en de titel maar een keer.
- $firstresult = true;
- }
- // Dan nu de reacties
- ?>
- <p>
- </p>
- <?php
- }
- }
- echo "Er zijn nog geen reacties";
- }
- } else {
- // Geen resultaat.
- echo ($id) ? 'Het artikel dat u probeert te bezoeken bestaat niet' : 'Er zijn nog geen artikelen';
- }
- ?>
Let erop dat je je mysql inloggegevens moet invullen, en de juiste database moet kiezen.
Stap 3: De formulieren
Nu de formulieren om reacties en artikelen toe te voegen.
Voor de artikelen
Voor de reacties
Tot slot
Nu hebben we een werkend artikel systeem. Maar het is natuurlijk nog erg kaal. Je kan er nog leuke dingen mee doen zoals het toevoegen als een ubb parser. Een inlogsysteem zou handig zijn om te zorgen dat alleen admins artikelen kunnen plaatsen. Misschien maak ik later nog een OO versie van deze tutorial.
Lees de forum regels