Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Perdita dati durante invio form

    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 PHP:
    <? 
    $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 "info@nomesito.com";
    $toGuest $mail;
    mail("$to","Richiesta informazioni da sito [url]www.nomesito.com[/url]","In data $giorno $mese $anno, alle ore $ora sono stati inviati i seguenti dati dal sito [url]www.nomesito.com:\n\nNome:[/url] $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 [url]www.nomesito.com[/url]","Gentile visitatore,\n\n in data $giorno $mese $anno, alle ore $ora sono stati inviati i seguenti dati dal sito [url]www.nomesito.com:\n\nNome:[/url] $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]info@nomesito.com[/email] e facendone espressa richiesta.\n\nGrazie per aver scritto.","From:Nome azienda Spa<$to>");
    header("Location:conferma.htm");
    exit;
    ?>
    Grazie.
    <-- Fare. O non fare. Non c'è provare. -->

    www.yodastudio.com
    segui YODA Studio su facebook

  2. #2
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    prima sostituisci tutti i
    $HTTP_POST_VARS
    con
    $_POST


    seconda cosa, hai visto la mail del tuo cliente, nel senso hai verificato che lui non veda il campo e-mail?

    posta il codice di creazione form...

  3. #3
    Mi sono reso conto che, proprio perchè si tratta di codice "copia e incolla", presenta diverse imperfezioni o perlomeno avrebbe bisogno di una ricompilazione.

    Per questo ho deciso di farmi aiutare da un programmatore al fine di capire come creare correttamente una pagina per l'invio di email completa di controlli e via dicendo.

    Grazie e buona giornata.
    <-- Fare. O non fare. Non c'è provare. -->

    www.yodastudio.com
    segui YODA Studio su facebook

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.