phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Modifica form e-mail

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
Rispondi
lucio_filomeno
Utente
Utente
Messaggi: 2
Iscritto il: 24/05/2013, 22:29
Sesso: Maschio

Modifica form e-mail

Messaggio da lucio_filomeno » 24/05/2013, 22:37

Vorrei modificare il codice php seguente in modo da scrivere gli errori riscontrati durante la fase di registrazione nella pagina del form e in caso di esito positivo della procedura di invio ad un'altra pagina del sito. Mi dareste una mano?

Grazie infinite

index.php

Codice: Seleziona tutto

<div>
  <h3 class="p2">Modulo Contatti</h3>
  <form id="contact-form" method="post" enctype="multipart/form-data" action="form_mail.php">
    <fieldset>
      <label><span class="text-form">Name:</span>
        <input name="NOME" type="text" />
      </label>
      <label><span class="text-form">Cognome:</span>
        <input name="COGNOME" type="text" />
      </label>
      <label><span class="text-form">Email:</span>
        <input name="EMAIL" type="text" />
      </label>
      <label><span class="text-form">Telefono:</span>
        <input name="TELEFONO" type="text" />
      </label>
      <div>
        <div>Messaggio:</div>
        <textarea name="MESSAGGIO"></textarea>
      </div>
      <div> <a class="button" href="#" onClick="document.getElementById('contact-form').reset()">Pulisci</a> <a class="button" href="#" onClick="document.getElementById('contact-form').submit()">Spedisci</a> </div>
    </fieldset>
  </form>
</div>
form_mail.php

Codice: Seleziona tutto

<?php
if(isset($_POST['EMAIL'])) { //isset() restituirà FALSE se si testa una variabile impostata a NULL
// Se non si inseriscono valori nel campo e-mail non si entra nel ciclo if
     
    // Editare le righe sottostanti per cambiare il destinatario
    $email_to = "ccc@yahoo.com";
    $email_subject = "E-mail proveniente dal modulo contatti...";
     
     
    function died($error) {
        // I codici di errore devono essere scritti qui sotto:
        echo "Siamo spiacenti ma abbiamo riscontrato degli errori nel modulo che ci hai inviato. ";
        echo "Leggi qui sotto per maggiori dettagli: <br /><br />";
        echo $error."<br /><br />";
        echo "Per piacere ritorna indietro e correggi gli errori. <br /><br />";
        die(); // Questo comando interrompe il flusso delle istruzioni
    }
     
    // Dati previsti per la convalida:
    if(!isset($_POST['NOME']) ||
        !isset($_POST['COGNOME']) ||
        !isset($_POST['EMAIL']) ||
        !isset($_POST['TELEFONO']) ||
        !isset($_POST['MESSAGGIO'])) {
        died('Nome, cognome, e-mail, telefono o messaggio non sono stati inseriti. ');       
    }
     
    $first_name = $_POST['NOME']; // richiesto
    $last_name = $_POST['COGNOME']; // richiesto
    $email_from = $_POST['EMAIL']; // richiesto
    $telephone = $_POST['TELEFONO']; // non richiesto
    $comments = $_POST['MESSAGGIO']; // richiesto
     
    $error_message = "";
    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
  if(!preg_match($email_exp,$email_from)) { //preg_match fornisce falso se trova un errore ovvero se $email_from è della forma di $email_exp
    $error_message .= 'L\'e-mail che hai scritto sembra non essere valida.<br />';
  }
    $string_exp = "/^[A-Za-z .'-]+$/";
  if(!preg_match($string_exp,$first_name)) {
    $error_message .= 'Il nome che hai scritto non sembra essere valido.<br />';
  }
  if(!preg_match($string_exp,$last_name)) {
    $error_message .= 'Il cognome che hai scritto non sembra essere valido.<br />';
  }
  if(strlen($comments) < 2) {
    $error_message .= 'Il messaggio che hai scritto non sembra essere valido.<br />';
  }
  if(strlen($error_message) > 0) {
    died($error_message);
  }
    $email_message = "Si riportano qui di seguito i dettagli del messaggio:\n\n";
     
    function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);// La funziona cancella da $string i valori contenuti in $bad
    }
     
    $email_message .= "NOME: ".clean_string($first_name)."\n";
    $email_message .= "COGNOME: ".clean_string($last_name)."\n";
    $email_message .= "EMAIL: ".clean_string($email_from)."\n";
    $email_message .= "TELEFONO: ".clean_string($telephone)."\n";
    $email_message .= "MESSAGGIO: ".clean_string($comments)."\n";
     
// Creazione dell'intestazione dell'e-mail
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);  
?>

<!-- Inserisci qui sotto la frase di buona riuscita dell'evento. -->

<p>Il messaggio è stato spedito correttamente. La contatteremo nel più breve tempo possibile. Le ricordiamo che in caso di urgenze può utilizzare il nostro numero telefonico (+39) 3985764589.</p>
Grazie
<?php
}
?>

lucio_filomeno
Utente
Utente
Messaggi: 2
Iscritto il: 24/05/2013, 22:29
Sesso: Maschio

Re: Modifica form e-mail

Messaggio da lucio_filomeno » 31/05/2013, 0:24

up! up!

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Nessuno e 44 ospiti