v2
This commit is contained in:
parent
6569b2ca89
commit
3f67ab6fd2
126
contact.php
Normal file
126
contact.php
Normal file
@ -0,0 +1,126 @@
|
||||
<?php
|
||||
$page_title = 'Contattaci';
|
||||
$success_message = '';
|
||||
$error_message = '';
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
||||
require_once __DIR__ . '/mail/MailService.php';
|
||||
|
||||
$name = trim($_POST['name'] ?? '');
|
||||
$email = trim($_POST['email'] ?? '');
|
||||
$message = trim($_POST['message'] ?? '');
|
||||
|
||||
if (empty($name) || empty($email) || empty($message)) {
|
||||
$error_message = 'Tutti i campi sono obbligatori.';
|
||||
} elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
||||
$error_message = 'Indirizzo email non valido.';
|
||||
} else {
|
||||
// The recipient is handled by the MAIL_TO environment variable.
|
||||
$res = MailService::sendContactMessage($name, $email, $message);
|
||||
|
||||
if (!empty($res['success'])) {
|
||||
$success_message = 'Messaggio inviato con successo! Ti risponderemo il prima possibile.';
|
||||
// Clear form
|
||||
$_POST = array();
|
||||
} else {
|
||||
$error_message = 'Si è verificato un errore. Riprova più tardi.';
|
||||
// In a real application, you should log the detailed error: $res['error']
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title><?= htmlspecialchars($page_title) ?> - MeToo</title>
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="assets/css/custom.css?v=<?php echo time(); ?>">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<header class="navbar navbar-expand-lg navbar-light bg-light fixed-top">
|
||||
<div class="container">
|
||||
<a class="navbar-brand fw-bold" href="index.php">MeToo</a>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navbarNav">
|
||||
<ul class="navbar-nav ms-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="index.php#services">Servizi</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#">Diventa un Fornitore</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="contact.php">Contattaci</a>
|
||||
</li>
|
||||
<li class="nav-item mx-lg-2">
|
||||
<a class="btn btn-outline-primary" href="#">Login</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="btn btn-primary" href="#">Registrati</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main class="container" style="padding-top: 100px; padding-bottom: 60px;">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-lg-8">
|
||||
<div class="card shadow-sm border-0" style="border-radius: 0.5rem;">
|
||||
<div class="card-body p-5">
|
||||
<h1 class="card-title text-center mb-4"><?= htmlspecialchars($page_title) ?></h1>
|
||||
<p class="text-center text-muted mb-5">Hai domande o hai bisogno di aiuto? Compila il form qui sotto.</p>
|
||||
|
||||
<?php if ($success_message): ?>
|
||||
<div class="alert alert-success"><?= $success_message ?></div>
|
||||
<?php endif; ?>
|
||||
<?php if ($error_message): ?>
|
||||
<div class="alert alert-danger"><?= $error_message ?></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="alert alert-info">
|
||||
<strong>Nota:</strong> Questo form è per scopi dimostrativi. Le email vengono inviate a un indirizzo di test. Per usare il tuo server di posta, configura le variabili SMTP nel file <code>.env</code>.
|
||||
</div>
|
||||
|
||||
<form action="contact.php" method="POST" novalidate>
|
||||
<div class="mb-3">
|
||||
<label for="name" class="form-label">Nome</label>
|
||||
<input type="text" class="form-control" id="name" name="name" required value="<?= htmlspecialchars($_POST['name'] ?? '') ?>">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="email" class="form-label">Email</label>
|
||||
<input type="email" class="form-control" id="email" name="email" required value="<?= htmlspecialchars($_POST['email'] ?? '') ?>">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="message" class="form-label">Messaggio</label>
|
||||
<textarea class="form-control" id="message" name="message" rows="5" required><?= htmlspecialchars($_POST['message'] ?? '') ?></textarea>
|
||||
</div>
|
||||
<div class="d-grid">
|
||||
<button type="submit" class="btn btn-primary btn-lg">Invia Messaggio</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="bg-light py-4">
|
||||
<div class="container text-center text-muted">
|
||||
<p>© <?= date('Y') ?> MeToo. Tutti i diritti riservati.</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="assets/js/main.js?v=<?php echo time(); ?>"></script>
|
||||
</body>
|
||||
</html>
|
||||
@ -39,6 +39,7 @@
|
||||
<ul class="nav col-12 col-lg-auto me-lg-auto mb-2 justify-content-center mb-md-0 ms-lg-4">
|
||||
<li><a href="#" class="nav-link px-2 text-dark">Servizi</a></li>
|
||||
<li><a href="#" class="nav-link px-2 text-dark">Diventa un Fornitore</a></li>
|
||||
<li><a href="contact.php" class="nav-link px-2 text-dark">Contattaci</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="text-end">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user