Perdita dati durante invio form

  • Creatore Discussione Creatore Discussione Eugene
  • Data di inizio Data di inizio

Eugene

Utente Attivo
5 Mag 2005
110
0
16
55
Dagobah
www.yodastudio.com
Buongiorno.

Oggi mi ha contattato un cliente per il quale avevo realizzato, diverso tempo fa, un sito con un form per la richiesta informazioni.
Non essendo un programmatore, la realizzazione di quel form mi costò non poche tribolazioni, ma alla fine riuscii a fare qualcosa di funzionante; controlli js sui campi obbligatori ed invio, tramite pagina php, di doppia email, una all'azienda e l'altra all'utente come conferma.
Come da prassi, il form venne verificato e collaudo prima della consegna ma, come dicevo, oggi il cliente mi ha fatto notare di aver ricevuto un form nel quale non era presente l'email dell'utente.
Cosa piuttosto strana poichè l'email è uno campi obbligatori ed è sottoposto a doppio controllo prima dell'invio, quindi escludo che l'utente sia riuscito ad inviare il form senza inserire questo campo (del resto, trattandosi di un contatto commerciale, non ha senzo non fornire la propria email soprattutto quando si comunicano tutti gli altri dati compreso telefono ed indirizzo).
Allora ho subito fatto una prova compilando il fomr online, ed in effetti il cliente ha ricevuto un altro form privo di email dell'utente (in questo caso il sottoscritto).
Ho quindi inserito il mio indirizzo come destinatario del form ed ho cercato di capire dove fosse l'errore.
Ho fatto alcune prove, cambiato alcune cose, ma alla fine ho riportato tutto com'era ed ha funzionato correttamente.

Ho persino ripristinato l'email del cliente, compilato un altro form e stavolta anche lui ha ricevuto il form completo di ogni campo.

Mi chiedo, a questo punto, quale possa essere la causa che abbia fatto "perdere" l'indirizzo email nella creazione del messaggio.
E soprattutto. perchè questo fenomento si è verificato prima e non più adesso?
Una delle basi della programmazione, per quel poco che ne so, è che un sistema o funziona o non funziona, ma non si può rompere.

Di seguito riporto il codice, così magari qualcuno può capirci qualcosa.

Codice:
<? 
$giorno = date("d",time()); 
$mese = date("m",time()); 
$anno = date("Y",time()); 
$ora=`date +%H:%M:%S`;
$nome = $HTTP_POST_VARS["nome"];
$cognome = $HTTP_POST_VARS["cognome"];
$azienda = $HTTP_POST_VARS["azienda"];
$ruolo = $HTTP_POST_VARS["ruolo"];
$telefono = $HTTP_POST_VARS["telefono"];
$fax = $HTTP_POST_VARS["fax"];
$mail = $HTTP_POST_VARS["ob_email"];
$indirizzo = $HTTP_POST_VARS["indirizzo"];
$cap = $HTTP_POST_VARS["cap"];
$localita = $HTTP_POST_VARS["localita"];
$provincia = $HTTP_POST_VARS["provincia"];
$informazione = $HTTP_POST_VARS["informazione"];
if(!empty($_POST["catalogo"]) ) {
      $catalogo = $_POST["catalogo"]; 
      } else {
               $catalogo = 'no';
      } 

$to = "[email protected]";
$toGuest = $mail;
mail("$to","Richiesta informazioni da sito www.nomesito.com","In data $giorno $mese $anno, alle ore $ora sono stati inviati i seguenti dati dal sito www.nomesito.com:\n\nNome: $nome\nCognome: $cognome\nAzienda: $azienda\nRuolo nell'azienda: $ruolo\n\nTelefono: $telefono\nFax: $fax\nE-mail: $mail\n\nIndirizzo: $indirizzo\nCAP: $cap\nLocalità: $localita\nProvincia: $provincia\n\nRichiesta invio catalogo: $catalogo\n\nInformazione richiesta: $informazione\n\nL'utente acconsente al trattamento dei dati secondo quanto disposto dal Decreto Legislativo 196/2003 e successive modifiche.","From:$nome $cognome<$mail>");
mail("$toGuest","Conferma Richiesta informazioni a sito www.nomesito.com","Gentile visitatore,\n\n in data $giorno $mese $anno, alle ore $ora sono stati inviati i seguenti dati dal sito www.nomesito.com:\n\nNome: $nome\nCognome: $cognome\nAzienda: $azienda\nRuolo in azienda: $ruolo\n\nTelefono: $telefono\nFax: $fax\nE-mail: $mail\n\n\nIndirizzo: $indirizzo\nCAP: $cap\nLocalità: $localita\nProvincia: $provincia\n\nRichiesta invio catalogo: $catalogo\n\nInformazione richiesta: $informazione\n\n\nSarete contattato al più presto in merito all'informazione richiesta.\n\nSi ricorda che le informazioni inviate verranno trattate secondo quanto disposto dal Decreto Legislativo 196/2003 e successive modifiche.\nSarà possibile richiedere la variazione o cancellazione dei dati forniti scrivendo a [email protected] e facendone espressa richiesta.\n\nGrazie per aver scritto.","From:Nome azienda Spa<$to>");
header("Location:conferma.htm");
exit;
?>

Grazie.
 

Discussioni simili