Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1

    [form mail]non visualizzare campi non compilati

    Ciao a tutti!

    stò costruendo un form per la richiesta di preventivi on-line per una ditta.
    I dati contenuti nel form devono essere spediti via mail alla ditta stessa, ma ho bisogno che i campi non compilati dal cliente non vengano visualizzati nel messaggio di posta elettronica.
    Dal momento che il messaggio di posta elettronica deve essere presentato "in un certo modo", non so quando fare il controllo della esistenza o meno della variabile contenuta nel campo, da momento che la variabile $body che contiene il testo è molto lunga e complessa

    Esiste un modo per fare il controllo prima ed inserire nel corpo della mail solo i dati esistenti?

    Grazie!

  2. #2
    Sì, è facile.
    Immaginiamo di avere 4 campi: a, b, c, d

    Codice PHP:

    $body 
    "

    Gentile cliente,

     bla bla bla bla.
    Hai selezionato i seguenti optional:
    "
    ;

    if (
    $a != ""$body .= "A : " .$a "\n";
    if (
    $b != ""$body .= "B : " .$b "\n";
    if (
    $c != ""$body .= "C : " .$c "\n";
    if (
    $d != ""$body .= "D : " .$d "\n";

    // $to = e-mail del destinatario
    // $subject = oggetto del messaggio
    // $headers = eventuali headers

    mail ($to$subject$body$headers); 

    Ciao
    Marco Bianucci
    marco@phoenixweb.it
    Hosting php
    Programmazione & WebDesign

  3. #3
    Perfetto... quindi il ciclo if va inserito prima di ciascuna variabile.
    Se la variabile esiste la scrive dentro alla variabile body, se non esiste la tralascia...ho capito giusto?

    Provo ad inserire questi cicli e vedere se funziona tutto correttamente, grazie!

  4. #4
    C'è un problema: il ciclo if che mi hai scritto, se prendo in considerazione dei radiobutton o delle checkbox, non funziona... se non li compilo mi da un errore

    Poi c'è anche un altro problema: la mail mi arriva sulla posta ogni volta in maniera diversa: compaiono tag html dal nulla, mancano delle lettere, sposta delle scritte... ho inserito questo codice negli headers, non vorrei ci fosse qualcosa di sbagliato:

    codice:
    $headers  = "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
    Le immagini me le invia tranquillamente senza alcun problema, ma il testo è un disastro

  5. #5
    Ah, dimenticavo... l'errore che mi da per non aver compilato i chackbox o i radiobutton è questo:

    Notice: Undefined index: nome_variabile in c:\percorso_del_file\form_preventivo_casa.php on line 30

  6. #6
    Originariamente inviato da Diableria
    Ah, dimenticavo... l'errore che mi da per non aver compilato i chackbox o i radiobutton è questo:

    Notice: Undefined index: nome_variabile in c:\percorso_del_file\form_preventivo_casa.php on line 30
    usa isset....

    if (isset($a)) $body .= "A : " .$a . "\n";

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7

    hai risolto

    hai risolto?
    se si...nel caso posti il codice completo cosi' è utile a tutti....(magari anche a me) :tongue:
    Webmasterarea.it (scripts, guide ecc) Ora anche scambio banner
    Io ho fatto la mia scelta

  8. #8
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    Originariamente inviato da piero.mac
    usa isset....
    if (isset($a)) $body .= "A : " .$a . "\n";
    isset lo calcola anche se lo selezioni e poi lo deselezioni?

  9. #9
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    Originale di Dennis
    il checkbox passa così:

    se checkato, passa il proprio value, se non c'è il value, passa "on"
    se non è checkato, non passa proprio da come la so io

  10. #10
    Originariamente inviato da web ces
    isset lo calcola anche se lo selezioni e poi lo deselezioni?
    Se non e' selezionato la variabile proprio non esiste. Isset ti evita l'errore. Se la variabile esiste potrebbe anche non essere valorizzata. In questo caso dovresti fare:

    if (isset($a) AND $a != "") $body .= "A : " .$a . "\n";

    Se esiste ed e' diversa da vuoto allora esegue...


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.