User Approval & Verification Flow

Job ID: 40534446

Budget: $30 – $250 USD

My LAMP-based web app currently lets anyone who signs up jump straight in. I need you to wire in a proper gate-keeping flow so that:

• A confirmation email is sent immediately after the user fills out our registration form, and the account stays inactive until the link is clicked (feel free to suggest SendGrid, Mailgun, plain SMTP or native PHP mail – I’m open to whichever is quickest and most reliable on a shared Linux host).
• After the email is confirmed, the account still remains pending: the user sees a polite “awaiting approval” screen and cannot access any protected pages.
• Inside the admin dashboard I should be able to view all pending accounts in a table and either Approve or Reject them. An approval activates the account and notifies the user; a rejection deletes or flags it and sends a short templated email.
• Only accounts with both a verified email and an admin “Approved” flag may log in and reach regular app features.

Code must be clean PHP (no frameworks required unless you recommend something lightweight), integrate smoothly with our existing MySQL schema, and follow best security practices (prepared statements, tokenised links, rate-limiting on resends).

Deliverables:
1. Updated database schema/patch script.
2. PHP classes or modules handling token generation, email dispatch and status checks.
3. Admin UI additions (Approve/Reject with pagination & search).
4. Simple onboarding screens for “Verify your email” and “Awaiting approval”.
5. A short README explaining installation, config options for SMTP/third-party mail and any cron tasks.

I’ll spin up a staging copy so you can test; once everything passes, we’ll push to production.
Fixed Budget: 50 USD.
For Purcode.