{
you're reading...
webdesign

Bouw zelf een ‘Reageer’-systeem voor je site

Als leergierige webdesigner probeer ik mijn websites zoveel mogelijk van de grond op de te bouwen. Voor de site van mijn jeugdbeweging leek het me wel leuk als de mensen een reactie konden plaatsen op de nieuwsberichten (wat je op iedere blog vind). Nu wil graag vertellen hoe ik het systeem gemaakt heb, zodat wie wil dit op zijn eigen site kan toepassen.
WAARSCHUWING : HET HIER BESCHREVEN SYSTEEM IS BASIS EN BEVAT BEVEILIGINGSLEKKEN! LET DUS OP ALS U DIT OP UW SITE GEBRUIKT!
Eerst kort een kleine toelichting over hoe het nieuwssysteem in elkaar zit:
Alle nieuwsberichten worden opgeslaan in een MySQL databank, waar ieder nieuwsbericht en unieke ID heeft. Deze databanktabel (die de originele titel ‘nieuws’ meekreeg) ziet er als volgt uit:

news_id > unieke ID per bericht
news_header > de titel
news_main > het bericht
news_datetime > de datum en tijd van posten

Daarna moest er ook een tabel aangemaakt worden voor de commentaren. Deze heeft volgende velden:

id > de unieke id per reactie
nid > hier wordt de id van het nieuwsbericht opgeslaan (dus de news_is uit de vorige tabel)
name > de naam van de persoon
comment > de reactie
mod > staat standaard op 0, dit dient om spam te kunnen modereren (door de waarde op 1 te zetten)

Op de home-pagina worden de nieuwsberichten getoond, met een link erbij naar de reacties.
Dit ziet er als volgt uit:

blogcode1

Met $comment_row[0] wordt het aantal reacties geteld, door op de 2de link te klikken gaat u naar de pagina waar zelf een reactie kan toegevoegd worden.
Op die pagina staat een formulier waar u uw naam en reactie kunt invullen:

blogplreactie
blogcode2

Dit formulier wordt dan als volgt in de databank gestopt (via de pagina addcomment.php)

blogcode3

Op die manier kan er gereageerd worden. Omdat ik geen zin heb om telkens via phpMyAdmin de berichten te beheren heb ik ook een administrator-kant gemaakt voor het reactiesysteem.
Dit is 1 pagina (genaamd commentlist.php) waar ik de waarde van ‘mod’ op 1 of 0 kan zetten, en alle berichten die spam zijn, of niet op de site thuishoren met een simpele klik kan verwijderen.

react-backend

Deze pagina is als volgt opgebouwd:

  • De reacties worden weergegeven:

blogcode4

  1. Eén DELETE knop waarmee alle berichten die niet toegestaan zijn verwijderd worden
  2. Per reactie de mogelijkheid ‘TOESTAAN’ en ‘NIET TOESTAAN'(voor het geval ik per ongeluk een fout bericht goedkeurde)
Eén DELETE knop waarmee alle berichten die niet toegestaan zijn verwijderd worden

Eén DELETE knop waarmee alle berichten die niet toegestaan zijn verwijderd worden

Per reactie de mogelijkheid 'TOESTAAN' en 'NIET TOESTAAN'

Per reactie de mogelijkheid 'TOESTAAN' en 'NIET TOESTAAN'

Met deze tutorial hoop ik dat mensen nu zelf een reactie-systeem voor hun site kunnen bouwen.
Volgende plannen voor dit systeem zijn:

  • Automatische spam-controle door het opgeven van een emailadres
  • Het reageer-formulier direct op news.php zetten, ipv newcomment.php.
  • … We zien wat de toekomst brengt

Als er nog vragen zijn, of opmerkingen, dan hoor ik deze graag in reactie of via email: schwarzproductions [apestaartje] gmail [puntje] com

Mijn volgende project is het bouwen van een fotoalbum, waarbij de afbeelding opgeladen worden via php en MySQL, en dan weergegeven worden via lightbox2. Ik hoop om daar binnen een maand een bericht over te kunnen plaatsen.

Advertenties

Reacties

6 gedachtes over “Bouw zelf een ‘Reageer’-systeem voor je site

  1. Voordat je dit soort code gaat publiceren is het misschien handig je in te lezen over veilige code, en o.a. mysql_real_escape_string, sprintf . De PHP code van addcomment.php is mist input validatie. De code van commentlist.php doet geen validatie van wat er uit de database komt. Wat als ik kwaadwillende PHP en/of JavaScript code in een comment plaats?

    Er zijn veel mensen op internet met minder goede bedoelingen, het is belangrijk daar rekening mee te houden.

    Het gedeelte om de comments op je site te laten zien ontbreekt volgens mij, of ik zie het over het hoofd?

    Geplaatst door Jochem Kossen | juli 12, 2009, 8:06 PM
    • Wat je zegt is waar. Daarom zal ik bovenaan het bericht een waarschuwing plaatsen dat de code niet volledig veilig is. Ook zal ik kijken om de code wel veilig te maken, (links naar tutorials … zijn altijd welkom), en dan dit bericht te updaten.

      Ik heb inderdaad vergeten om het deel van weergave toe te voegen aan het bericht. Dat zal ik in orde brengen, nadat ik een screenshot genomen heb van de code (want het code- ding van wordpress werkt niet echt goed…

      Geplaatst door Lennert | juli 13, 2009, 1:08 PM
  2. Ziet er anders wel leuk uit 🙂

    Geplaatst door Wesley | augustus 23, 2009, 9:34 AM
  3. Kun je het veld mod niet de true of false maken?

    Geplaatst door akjssdk | augustus 25, 2009, 2:14 PM
    • Dat kan natuurlijk ook. Op het moment vond dat ik het schreef vond ik het het gemakkelijkste om met 1 & 0 te werken. Ik zal eens kijken wat true en false voor voordelen brengen voor de site.

      Ook zal ik eens kijken hoe ik alle berichten gewoon als platte tekst kan ingegeven worden, zodat er geen code zoals HTML meer kan ingevoegd worden. Dat maakt het ook een stuk veiliger.
      Er is nog werk aan , nu nog tijd vinden. 😀

      Geplaatst door Lennert | augustus 25, 2009, 5:44 PM
  4. Hoe doe je de module erbij waar je een code moet na-typen?

    Geplaatst door Erik | juni 22, 2013, 7:36 AM

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit / Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit / Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit / Bijwerken )

Verbinden met %s

twitter

Ik schrijf ook op:

Creative Commons

Creative Commons License
OpenBronBlog van Lennert Holvoet is in licentie gegeven volgens een Creative Commons Naamsvermelding-Gelijk delen 2.0 België licentie.

Mobile Vikings

Become a Viking

%d bloggers liken dit: