You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.0 KiB
75 lines
2.0 KiB
// Import required modules
|
|
const express = require('express');
|
|
const bodyParser = require('body-parser');
|
|
const path = require('path');
|
|
const mysql = require('mysql');
|
|
|
|
// Initialize Express app
|
|
const app = express();
|
|
const port = 3000;
|
|
|
|
// Configure middleware
|
|
app.use(bodyParser.urlencoded({ extended: true }));
|
|
app.use(express.static(path.join(__dirname, 'public')));
|
|
|
|
// Configure MySQL database connection
|
|
const db = mysql.createConnection({
|
|
host: 'localhost',
|
|
user: 'root',
|
|
password: '',
|
|
database: 'greentech'
|
|
});
|
|
|
|
db.connect((err) => {
|
|
if (err) {
|
|
console.error('Database connection failed:', err);
|
|
} else {
|
|
console.log('Connected to database');
|
|
}
|
|
});
|
|
|
|
// Routes
|
|
// Home page (login page)
|
|
app.get('/', (req, res) => {
|
|
res.sendFile(path.join(__dirname, 'public', 'login.html'));
|
|
});
|
|
|
|
// Registration page
|
|
app.get('/register', (req, res) => {
|
|
res.sendFile(path.join(__dirname, 'public', 'register.html'));
|
|
});
|
|
|
|
// Handle user registration
|
|
app.post('/register', (req, res) => {
|
|
const { username, email, password } = req.body;
|
|
const query = 'INSERT INTO users (username, email, password) VALUES (?, ?, ?)';
|
|
db.query(query, [username, email, password], (err, result) => {
|
|
if (err) {
|
|
console.error('Error inserting user:', err);
|
|
res.send('Error registering user.');
|
|
} else {
|
|
res.send('User registered successfully!');
|
|
}
|
|
});
|
|
});
|
|
|
|
// Handle user login
|
|
app.post('/login', (req, res) => {
|
|
const { email, password } = req.body;
|
|
const query = 'SELECT * FROM users WHERE email = ? AND password = ?';
|
|
db.query(query, [email, password], (err, results) => {
|
|
if (err) {
|
|
console.error('Error during login:', err);
|
|
res.send('Error during login.');
|
|
} else if (results.length > 0) {
|
|
res.send('Login successful!');
|
|
} else {
|
|
res.send('Invalid email or password.');
|
|
}
|
|
});
|
|
});
|
|
|
|
// Start the server
|
|
app.listen(port, () => {
|
|
console.log(`Server running on http://localhost:${port}`);
|
|
}); |