PHP [HELP] Form di Contatto

X E N O N

Utente Silver
19 Settembre 2023
172
10
62
83
Salve a tutti!

Essendo ancora poco esperto nell'ambito dello sviluppo Web, mi chiedevo se qualcuno di voi potesse darmi una mano.
Anche solo per indirizzarmi dove serve, laddove non abbiate il materiale che cerco.


Sto cercando un Form di contatto molto semplice, ma anche sicuro e stabile. Non mi interessano opzioni particolari, vorrei solo che i visitatori della mia pagina Web possano contattarmi inviando direttamente un messaggio alla mia casella di posta. Gli utenti non dovranno neanche registrarsi, dev'essere solo un modo semplice e veloce per entrare in contatto. Avevo trovato qualcosa sul Web, ma non mi fido molto del materiale On-Line ... Preferirei che qualcuno di voi della Community mi consigliasse sul da farsi! Ringrazio tutti anticipatamente.

Grosso modo questo è ciò che farebbe al caso mio:
1698710077363.png
 
Ciao! Si, ho trovato questo. Molto minimal
Esempio:
File Html:
HTML:
<html>
<head>
<title>Form Contatto</title>
<style>
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  body {
    font-family: "Inter", sans-serif;
  }
  .formbold-mb-5 {
    margin-bottom: 20px;
  }
  .formbold-pt-3 {
    padding-top: 12px;
  }
  .formbold-main-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px;
  }

  .formbold-form-wrapper {
    margin: 0 auto;
    max-width: 550px;
    width: 100%;
    background: white;
  }
  .formbold-form-label {
    display: block;
    font-weight: 500;
    font-size: 16px;
    color: #07074d;
    margin-bottom: 12px;
  }
  .formbold-form-label-2 {
    font-weight: 600;
    font-size: 20px;
    margin-bottom: 20px;
  }

  .formbold-form-input {
    width: 100%;
    padding: 12px 24px;
    border-radius: 6px;
    border: 1px solid #e0e0e0;
    background: white;
    font-weight: 500;
    font-size: 16px;
    color: #6b7280;
    outline: none;
    resize: none;
  }
  .formbold-form-input:focus {
    border-color: #6a64f1;
    box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.05);
  }

  .formbold-btn {
    text-align: center;
    font-size: 16px;
    border-radius: 6px;
    padding: 14px 32px;
    border: none;
    font-weight: 600;
    background-color: #6a64f1;
    color: white;
    cursor: pointer;
  }
  .formbold-btn:hover {
    box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.05);
  }

  .formbold--mx-3 {
    margin-left: -12px;
    margin-right: -12px;
  }
  .formbold-px-3 {
    padding-left: 12px;
    padding-right: 12px;
  }
  .flex {
    display: flex;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .w-full {
    width: 100%;
  }
  @media (min-width: 540px) {
    .sm\:w-half {
      width: 50%;
    }
  }
</style>
</head>
<body>
<div class="formbold-main-wrapper">
  <!-- Author: FormBold Team -->
  <!-- Learn More: https://formbold.com -->
  <div class="formbold-form-wrapper">
    <form action="function.php" method="POST">
      <div class="formbold-mb-5">
        <label for="name" class="formbold-form-label"> Full Name </label>
        <input
          type="text"
          name="name"
          id="name"
          placeholder="Full Name"
          class="formbold-form-input"
        />
      </div>

      <div class="formbold-mb-5">
        <label for="email" class="formbold-form-label"> Email Address </label>
        <input
          type="email"
          name="email"
          id="email"
          placeholder="Enter your email"
          class="formbold-form-input"
        />
      </div>

      <div class="formbold-mb-5">
        <label for="subject" class="formbold-form-label"> Subject </label>
        <input
          type="text"
          name="subject"
          id="subject"
          placeholder="Enter your subject"
          class="formbold-form-input"
        />
      </div>

      <div class="formbold-mb-5">
        <label for="message" class="formbold-form-label"> Message </label>
        <textarea
          rows="6"
          name="message"
          id="message"
          placeholder="Type your message"
          class="formbold-form-input"
        ></textarea>
      </div>

      <div>
        <button class="formbold-btn">Submit</button>
      </div>
    </form>
  </div>
</div>
<style>
</body>
</html>

File Function del php:
PHP:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $nome = $_POST['name'] ?? '';
    $email = $_POST['email'] ?? '';
    $oggetto = $_POST['subject'] ?? '';
    $messaggio = $_POST['message'] ?? '';

    // Preparazione email
    $to = '[email protected]'; // Sostituisci con la tua email reale
    $subject = "Nuovo messaggio da: $nome, Oggetto: $oggetto";
    $body = "Hai ricevuto un nuovo messaggio dal tuo sito web:\n\nNome: $nome\nEmail: $email\nMessaggio:\n$messaggio";
    $headers = "Da: [email protected]"; // Sostituisci con un'email reale

    // Invio dell'email
    if (mail($to, $subject, $body, $headers)) {
        echo "Email inviata con successo a $to";
    } else {
        echo "Errore nell'invio dell'email.";
    }
}
?>

Cosi dovrebbe funzionare, è molto molto semplice come script, utilizza la funziona mail di php, si può personalizzare magari con uno script mailer e mettere smtp.

Intanto fammi sapere così come va e se funziona