Lecteur Markdown
Guestbook Documentation En
BeamReactor — Module guestbook #
Version: 5.2.0
Author: Treveur Bretaudière
Since: 2002
Last updated: 2026-02-11
guestbook #Version: 5.2.0
Author: Treveur Bretaudière
Since: 2002
Last updated: 2026-02-11
The guestbook module is a guestbook allowing users to leave public messages. It includes moderation, anti-flood protection, input validation and pagination.
guestbook table must exist in the database (checked via sql_table_exists()).GUESTBOOK_LEVEL_USER access level to post.GUESTBOOK_LEVEL_MODERATOR access level to delete.Beamreactor\Database\SQL and Beamreactor\Sanitizer\Parser classes.Table: guestbook
| Field | Description |
|---|---|
| id | Unique identifier (auto-increment) |
| name | Author name |
| email | Email address |
| website | Website (optional) |
| country | Country (selected from a static list) |
| message | Message content |
| time | Publication date |
| ip | IP address (via ipCheck()) |
Before any processing, the module checks the last entry from the same IP. If fewer than 10 seconds have elapsed, a message is displayed and the module returns.
A user with GUESTBOOK_LEVEL_MODERATOR can delete an entry via the GET parameter gbdelentry. JavaScript confirmation on the client side.
The form is displayed if the user has GUESTBOOK_LEVEL_USER level. The add action is triggered when the submit matches $dialgb[16].
| Field | Validation |
|---|---|
| name | Required, Parser::sanitize($str, 'string', maxLength: 40) |
| email | Required, sanitised via Parser::sanitize($str, 'email'), validated via Parser::check() |
| website | Optional, Parser::sanitize($str, 'string', maxLength: 120), 'none' treated as empty |
| country | Required, must differ from the select default value ($dialgb[6]) |
| message | Required, minimum 10 characters, Parser::sanitize($str, 'string', maxLength: 1000) |
The form pre-fills the email from the session and retains entered values on error.
Messages displayed in descending ID order, 10 per page. Each entry shows the name, website link (if present, prefixed http://), country, date and message. The [X] deletion link only appears for moderators.
GET parameter gbpage. Previous/next navigation.
The module includes a static list of approximately 250 countries/territories in a PHP $countries array, including some non-standard entries (Armor Breizh, Catalunya, Corsica, Scotland, the oceans).
| Constant | Role |
|---|---|
| GUESTBOOK_LEVEL_USER | Minimum level to post |
| GUESTBOOK_LEVEL_MODERATOR | Minimum level to delete |