Server. Js backend
Here is a server.js file for your backend, which connects to a MySQL database and handles a "Contact Us" form submission.
---
Setup Instructions
1. Install required dependencies:
npm init -y
npm install express mysql cors body-parser dotenv
2. Create a .env file for database credentials.
3. Run the server:
node server.js
Final Summary of Changes
✔ Change MySQL credentials in .env
✔ Ensure correct database and table names in server.js
✔ Modify the port if needed
Let me know if you need further customization! ๐
---
Full Code for server.js
require('dotenv').config();
const express = require('express');
const mysql = require('mysql');
const cors = require('cors');
const bodyParser = require('body-parser');
const app = express();
const PORT = process.env.PORT || 5000;
// Middleware
app.use(cors());
app.use(bodyParser.json());
// MySQL Connection
const db = mysql.createConnection({
    host: process.env.DB_HOST,
    user: process.env.DB_USER,
    password: process.env.DB_PASS,
    database: process.env.DB_NAME
});
db.connect((err) => {
    if (err) {
        console.error('Database connection failed: ', err);
    } else {
        console.log('Connected to MySQL Database');
    }
});
// Contact Form API - Store Data in MySQL
app.post('/contact', (req, res) => {
    const { name, email, message } = req.body;
    if (!name || !email || !message) {
        return res.status(400).json({ error: 'All fields are required' });
    }
    const query = 'INSERT INTO contact (name, email, message) VALUES (?, ?, ?)';
    db.query(query, [name, email, message], (err, result) => {
        if (err) {
            console.error('Error inserting data:', err);
            return res.status(500).json({ error: 'Database error' });
        }
        res.status(201).json({ message: 'Data submitted successfully' });
    });
});
// Fetch All Contacts API
app.get('/contacts', (req, res) => {
    const query = 'SELECT * FROM contact';
    db.query(query, (err, results) => {
        if (err) {
            console.error('Error fetching data:', err);
            return res.status(500).json({ error: 'Database error' });
        }
        res.status(200).json(results);
    });
});
// Start Server
app.listen(PORT, () => {
    console.log(`Server is running on http://localhost:${PORT}`);
});
---
Create .env file for Environment Variables
DB_HOST=localhost
DB_USER=root
DB_PASS=yourpassword
DB_NAME=connection_of_database_to_php
PORT=5000
---
Create MySQL Table (connection Database)
CREATE DATABASE connection_of_database_to_php;
USE connection_of_database_to_php;
CREATE TABLE contact (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL,
    message TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
---
This server.js file: ✅ Connects to MySQL
✅ Receives contact form data via POST /contact
✅ Fetches all submitted data via GET /contacts
✅ Uses .env file for credentials
✅ Runs on port 5000
Let me know if you need modifications!
 
 
Comments
Post a Comment