A simple comment system built with PHP and Supabase.
- PHP (7.4 to 8.x.x) support
- Supabase for storing comments in the database
- Pagination for comments
- Modern and responsive UI using Bulma CSS
- Comprehensive security for input forms and spam prevention
- Cloudflare Turnstile for additional spam protection
- Create a database in Supabase: https://supabase.com/docs/guides/database/overview
-- Create the table with necessary fields
CREATE TABLE comments (
id SERIAL PRIMARY KEY, -- Auto-incrementing primary key
name VARCHAR(255) NOT NULL, -- Name of the user (max length 255)
comment TEXT NOT NULL, -- Comment field to store user input
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP -- Timestamp with timezone
);
- Also, create Cloudflare Turnstile: https://developers.cloudflare.com/turnstile/
- Create a
.env
file to add the required API keys
## Supabase
supabaseUrl=https://example.supabase.co
apiKey=
pkey=
table=comments
## Cloudflare turnstile
secretKey=
siteKey=
url=https://challenges.cloudflare.com/turnstile/v0/siteverify
- View Single Comments/status by ID
http://localhost:6022/post.php?id=18
- SEO Friendly URL
RewriteEngine On
RewriteRule ^post/([a-zA-Z0-9\-]+)$ post.php?id=$1 [L,QSA]
http://localhost:6022/post/18
- Done
This project was inspired from Supacomments dev by @mcnaveen - Blazing fast comment system with Sveltejs and Supabase
MIT