Inloggen
Username:
Password:



Password vergeten?
Menu
Home
Forums
Wiki
Script Library
Forum tracker
RSS Feed
Sponsoren
Vacature plaatsen

Aanmelden
Huisregels
Vereniging

Adverteren
Disclaimer
Zoeken

In:
Aantal leden
PHPFreakz kent momenteel 50394 geregistreerde leden.
Opties
Printversie
Een forum in elkaar zetten
Een forum in elkaar zetten
door Vincent Driessen

Dit artikel is erg verouderd en bevat misschien onjuiste informatie. Kijk op de wiki voor nieuwere artikelen.
Er was veel vraag naar een heldere uitleg over hoe je nu precies een forum in elkaar zet. Vandaar dit artikel. Ik waarschuw je alvast: een goed forum is een heel stuk lastiger dan een zeer goed gastenboek. Een forum is moeilijk. Maar dit artikel is natuurlijk niet voor niets...

Forum
Het forum dat ik ga beschrijven is een forum in de stijl zoals het onze, en dus zeker NIET zo een als het Ultimate forum, dat je overal ziet. Je weet wel, die hele irritante waar alle replies onder elkaar staan en met die smilies enzo. Nee, die van ons wordt overzichtelijk en met replies op replies. Dit artikel berust overigens ook weer op een heleboel MySQL.

Voor dit artikel ga ik me beperken tot zo min mogelijk details, omdat dat alleen maar lastig is voor de uitleg. Mijn forum bevat daarom alleen maar de naam van de persoon die post, de bericht-titel en het bericht zelf natuurlijk. We gaan dus een simpele MySQL-tabel maken:

CREATE TABLE forum (
  id int(11) DEFAULT '0' NOT NULL auto_increment,
  naam varchar(30) NOT NULL,
  titel varchar(30) NOT NULL,
  inhoud text NOT NULL,
  replyto int(11) DEFAULT '0' NOT NULL,
  PRIMARY KEY (id)
);

Je ziet dus dat we 4 kolommen definieren. ID is gewoon voor een unieke index van een bericht. Naam, titel en inhoud lijken me duidelijk genoeg. Tenslotte hebben we replyto. Zoals gezegd maken we een forum zoals de onze, waar je dus reacties op reacties hebt. Je moet dus per bericht opgeven op welke bericht dat een reactie was. We gebruiken voor een nieuw bericht (geen reactie) gewoon replyto = 0.

Het weergeven van de verscheidene (nieuwe) berichten is dan te doen met de volgende SQL-query:

index.php3 (deel 1)
<?php
  
/* Maak connectie */
  
$db = mysql_connect("mijn_host", "mijn_user", "mijn_password");
  
mysql_select_db("test");
  
  
/* Lees alle berichten waarvan replyto = 0 */
  
$sql = "SELECT id, naam, titel FROM forum WHERE replyto=0 ORDER BY id DESC";
  
$result = mysql_query($sql) or die(mysql_error());
   if (
mysql_num_rows($result) == 0) {
      echo
"Nog geen berichten gevonden.";
   }
   else {  
// Schrijf alle berichten
     
echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"1\" width=\"600\">\n";
      echo
"<tr style=\"background-color: Maroon; color: White; font-weight: Bold;\">\n<td>Bericht</td>\n<td>Naam</td>\n</tr>\n";
      while (
$row = mysql_fetch_object($result)) {
         echo
"<tr>\n";
         echo
"<td><a href=\"lees.php3?id=$row->id\">$row->titel</a></td>\n";
         echo
"<td>$row->naam</td>\n";
         echo
"</tr>\n";
      }
      echo
"</table><p>\n";
   }
?>

Je ziet dat dit nogal eenvoudig is. Iedere titel wordt ook meteen gelinkt naar het bestand lees.php3?id=xxx, waarbij xxx het ID-nummer van het bericht is. Dat bestandje is straks heel gemakkelijk te maken. Op nu naar het moeilijke gedeelte.

| 1 | 2 | 3 | 4 | Volgende »

Commentaar op dit artikel
TitelDoorDatum
3 php3 bestanden.. Erik Meijer 12-11-2007 14:40
Members Stef E. 02-07-2007 12:17
RE: Posten met het forum iltar van der Berg (Verenigingslid) 09-01-2007 16:58
RE: Wat doe ik fout Ralph B. 22-10-2005 00:52
RE: Lees.php Ralph B. 22-10-2005 00:48
Lees.php Arie Donkelaar 06-10-2005 23:14
Wat doe ik fout Joram Hogendoorn 21-06-2005 14:25
Goed echt Gaaf Bart BB 03-06-2005 19:18
RE: bericht.php3 werkt niet... danielle slaman 26-10-2004 17:27
Undefined variable line 3 Janwillem Rigters 15-09-2004 16:40
RE: error Ben van Velzen (Verenigingslid) 25-08-2004 05:25
RE: New bie Ben van Velzen (Verenigingslid) 25-08-2004 05:24
RE: Bericht plaatsen Ben van Velzen (Verenigingslid) 25-08-2004 05:21
RE: mijn script vult niets in in mijn databeest Ben van Velzen (Verenigingslid) 25-08-2004 05:18
Goed script! Ben van Velzen (Verenigingslid) 25-08-2004 04:45
Bericht plaatsen Tom Sleebe 17-08-2004 20:57
error K. Schouwenburg 05-04-2004 20:59
RE: krijg allemaal n en Corne van Schaik 17-02-2004 16:58
Posten met het forum Tom Sleebe 12-01-2004 21:53
Posten met het forum Tom Sleebe 12-01-2004 21:48
RE: Error whelp ff ofzo Tom Sleebe 12-01-2004 20:20
Re: Re: Re: Replies Mark Roethof 20-12-2003 18:11
resultaat aaapsgf dasgdasgdag 12-10-2003 23:49
RE: Error whelp ff ofzo Luwe (ndomain.nl) 02-10-2003 19:01
RE: Error whelp ff ofzo aaapsgf dasgdasgdag 28-09-2003 13:59
Error whelp ff ofzo aaapsgf dasgdasgdag 28-09-2003 13:03
krijg allemaal n en Ronald de Boer 31-07-2003 00:31
RE: CREATE TABLE forum Ko Jo 11-07-2003 22:11
Ik snap er niets van!!! Jeroen Hauser (Verenigingslid) 08-06-2003 23:34
RE: MySQL-tabel maken wesley eefz 03-06-2003 09:00
MySQL-tabel maken Bart Stens 29-05-2003 16:42
bericht.php3 werkt niet... M. Terlouw 01-05-2003 02:13
CREATE TABLE forum Joris Slagter 23-04-2003 14:18
RE: ?? Abcdefgh Abcdefgh 29-01-2003 16:24
thanks erik willemen 25-01-2003 16:54
RE: geposte berichten Pieter Hensen 31-12-2002 11:02
Bedankt ! :-) Tom Kuilder 30-12-2002 01:16
New bie Sander W. 19-11-2002 19:48
geposte berichten Chris [www.htmlkennis.nl] 29-10-2002 10:34
Laat nix zien Jimmy Hanraads 11-10-2002 20:25
Foutmelding (cannot add header info) Mr Freakazoid 10-10-2002 21:42
Mooi Script Barry Meijer 21-09-2002 15:36
mijn script vult niets in in mijn databeest Robbert in 't Hout 26-08-2002 02:21
RE: Compleet downloadable De KoFfie 07-08-2002 16:16
Compleet "downloadable" Erik N 26-05-2002 22:09
script uppen Jasper mink 19-05-2002 10:05
RE: RE: UPDATE: Replies in lees.php3...? bart kloet 31-03-2002 23:34
RE: UPDATE: Replies in lees.php3...? stijn blokker 31-03-2002 20:48
UPDATE: Replies in lees.php3...? Jeroen Lukas 31-03-2002 15:39
Replies in lees.php3...? Jeroen Lukas 31-03-2002 15:09
hoe zit dat nou met die replies stijn blokker 30-03-2002 19:43
RE: ??? mySQL ??? Jethro Borsje 30-03-2002 14:04
Replies Patrick Watzeels 13-03-2002 08:24
RE: RE: Tig replies Robbin Habermehl 09-03-2002 14:28
RE: Tig replies Dick Stada 08-03-2002 17:59
Ehh zonder recursief aanroepen Marcel Laurijsse 21-01-2002 16:11
LOL nee niet zo als ubb mer wel onder elkaar hier Bruut Aap 07-01-2002 19:47
Tig replies Robbin Habermehl 27-12-2001 17:24
RE: n'nnen! Plz help Leo vdham 27-12-2001 14:31
Hoe werken de replies! bart kloet 12-12-2001 19:01
n'nnen! Plz help bart kloet 12-12-2001 17:39
Wat is hier fout? T. H. 26-11-2001 12:32
reactie op een bericht ?????? IVan Hongenaert 18-11-2001 11:24
Replie IVan Hongenaert 17-11-2001 17:29
RE: RE: RE:?? Steven Ketelaar 30-10-2001 10:53
Dit kan anders en beter! Bas Dakkenhorst 25-10-2001 10:03
RE: Probleem !!!! Mr.Eminem 16-10-2001 20:12
??? mySQL ??? scr ib 28-09-2001 02:06
RE: Wat te doen met index.php3? Bruut Aap 07-09-2001 11:38
Wat te doen met index.php3? Dennis de Valk 03-09-2001 17:22
RE: RE:?? Dennis de Valk 17-08-2001 16:44
RE: Replies Hans Roerdinkholder 29-07-2001 17:10
RE: RE: Plaatjes Bruut Aap 24-07-2001 09:36
RE: Plaatjes Bruut Aap 21-07-2001 14:15
Replies champy champy 12-07-2001 19:39
RE: begrijp iets niet ... :s Peter Lubberdink 26-06-2001 20:19
Plaatjes Michiel 26-06-2001 17:07
begrijp iets niet ... :s Alexander Vanwijnsberghe 24-06-2001 19:31
Waarom gebruik je round? R m 22-06-2001 13:35
RE: RE:RE: SLECHT!! M L 08-06-2001 17:49
PLAATJES Maarten J 05-06-2001 11:10
RE:RE: SLECHT!! Gijs de Vries 19-05-2001 14:48
RE: SLECHT!! Vincent Driessen 17-05-2001 11:39
SLECHT!! Gijs de Vries 17-05-2001 08:52
RE:?? Rene Hulzebos 16-05-2001 22:14
?? Rene Hulzebos 14-05-2001 21:47
Recente topics
Website layout hu...
selecteer tekst t...
Weergaven form in...
Website Hulp gezocht
Refresh na invoeren.
Weeknummers selec...
jquery table sort...
Meerdere menu's i...
jQuery slide content
HTML SELECT met 2...
TCPDF geeft é nie...
session_id(); > b...
Nieuwe regel
Variabele analyseren
heleboel foutmeld...
Recente Wiki's
JavaScript: High Performance
MagicQuotes
Escapen
Datamanipulatie
RabbitVCS
Continuous integration
Apache Veilig Maken
Charactersets
Het Wiel Uitgevonden:Formulieren
XSD

Meer wiki ...
Recente Scripts
Unieke `random` n...
twitterPHP 0.1 (a...
CSS minifier
PINI - PHP >>INI<...
Sudoku [StateSolver]
base64 file encoder
Session class

Meer scripts ...
Gehost door
RedKnot Hosting