Visualizzazione dei risultati da 1 a 6 su 6

Discussione: visualizzazione dati

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    60

    visualizzazione dati

    salve ragazzi.. ho un problema nella visualizzazione dei dati inviati da una form.

    Attualmente in email i dati mi arrivano in questo modo:
    - nomecognomemessaggioresidenzamqconcessionefiniture progettodatacostruzionepaesecostruzioneusomailtele fono.
    poi a parte l'allegato e questo invece va più che bene!!!!

    So che ho fatto sicuro qualche cavolata anche perchè non è da molto che utilizzo il php ma qualcuno può darmi una mano a farmi visualizzare in mail tutti i dati uno sotto l'altro e non sequenziale?

    Sarebbe fin troppo difficile farmi apparire prima del dato anche la voce corrispondente?? ovvero:
    nome x
    cognome y

    Questo è il mio codice:
    Codice PHP:
    <?php
    // Recupero il valore dei campi del form
    $nome $_POST['nome'];
    $cognome $_POST['cognome'];
    $residenza $_POST['residenza'];
    $metri_quadri $_POST['mq'];
    $concessione $_POST['concessione'];
    $finiture $_POST['finiture'];
    $progetto $_POST['progetto'];
    $quando_costruire $_POST['datacostruzione'];
    $dove_costruire $_POST['paesecostruzione'];
    $uso_abitativo $_POST['uso'];
    $altro_uso $_POST['altrouso'];
    $mail $_POST['mail'];
    $telefono $_POST['telefono'];
    $messaggio $_POST['messaggio'];

    // Valorizzo le variabili relative all'allegato
    $allegato $_FILES['allegato']['tmp_name'];
    $allegato_type $_FILES['allegato']['type'];
    $allegato_name $_FILES['allegato']['name'];

    // Creo 2 variabili che riempirò più avanti...
    $headers "From: " $mail;
    $msg "";

    // Verifico se il file è stato caricato correttamente via HTTP
    // In caso affermativo proseguo nel lavoro...
    if (is_uploaded_file($allegato))
    {
      
    // Apro e leggo il file allegato
      
    $file fopen($allegato,'rb');
      
    $data fread($filefilesize($allegato));
      
    fclose($file);

      
    // Adatto il file al formato MIME base64 usando base64_encode
      
    $data chunk_split(base64_encode($data));

      
    // Genero il "separatore"
      // Serve per dividere, appunto, le varie parti del messaggio.
      // Nel nostro caso separerà la parte testuale dall'allegato
      
    $semi_rand md5(time());
      
    $mime_boundary "==Multipart_Boundary_x{$semi_rand}x";
      
      
    // Aggiungo le intestazioni necessarie per l'allegato
      
    $headers .= "\nMIME-Version: 1.0\n";
      
    $headers .= "Content-Type: multipart/mixed;\n";
      
    $headers .= " boundary=\"{$mime_boundary}\"";

      
    // Definisco il tipo di messaggio (MIME/multi-part)
      
    $msg .= "This is a multi-part message in MIME format.\n\n";

      
    // Metto il separatore
      
    $msg .= "--{$mime_boundary}\n";

      
    // Questa è la parte "testuale" del messaggio
      
    $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
      
    $msg .= "Content-Transfer-Encoding: 7bit\n\n";
      
    $msg .= $nome $cognome $messaggio $residenza $mq $concessione $finiture $progetto $datacostruzione $paesecostruzione $uso $altrouso $mail $telefono "\n\n";

      
    // Metto il separatore
      
    $msg .= "--{$mime_boundary}\n";

      
    // Aggiungo l'allegato al messaggio
      
    $msg .= "Content-Disposition: attachment;\n";
      
    $msg .= " filename=\"{$allegato_name}\"\n";
      
    $msg .= "Content-Transfer-Encoding: base64\n\n";
      
    $msg .= $data "\n\n";

      
    // chiudo con il separatore
      
    $msg .= "--{$mime_boundary}--\n";
    }
    else
    {
      
    $msg $messaggio;
    }

    // Invio la mail
    if (mail($destinatario$oggetto$msg$headers))
    {
      echo 
    "

    Mail inviata con successo!</p>"
    ;
    }else{
      echo 
    "

    Errore!</p>"
    ;
    }
    ?>
    mentre la form che carica questa pag è:

    Codice PHP:
    <form action="formmail.php" method="POST" enctype="multipart/form-data">
    <
    input type="hidden" name="destinatario" value="miamail@gmail.com">
    <
    table width="548" border="0">
    <
    tr>
      <
    td width="287" class="testo4">INSERISCI IL TUO NOME</td>
      <
    td width="251"><input type="text" name="nome" size="30" value="" /></td>
    </
    tr>
    <
    tr>
      <
    td class="testo4">INSERISCI IL TUO COGNOME</td>
      <
    td><input type="text" name="cognome" size="30" value="" /></td>
    </
    tr>
    <
    tr>
      <
    td class="testo4">CITTA' DI RESIDENZA ATTUALE</td>
      <td><input type="text" name="residenza" size="30" value="" /></td>
    </tr>
    <tr>
      <td class="testo4">INSERISCI I MQ DELLA CASA</td>
      <td><input type="text" name="mq" size="10" value="" /></td>
    </tr>
    <tr>
      <td class="testo4">HAI LA CONCESSIONE?</td>
      <td class="testo4"><input type="radio" name="concessione" value="si"> SI
                <input type="radio" name="concessione" value="no" checked> NO</td>
    </tr>
    <tr>
      <td class="testo4"><span class="testo41">FINITURE INTERNO/ESTERNO ?

    1) casa intonacata - 2) legno a vista</span></td>
      <td class="testo4"><input type="radio" name="finiture" value="intonaco" checked> INTONACO
                <input type="radio" name="finiture" value="legno"> LEGNO</td>
    </tr>
    <tr>
      <td class="testo4">HAI GIA' 
    UN PROGETTO?</td>
      <
    td class="testo4"><input type="radio" name="progetto" value="si"SI
                
    <input type="radio" name="progetto" value="no" checkedNO</td>
    </
    tr>
    <
    tr>
      <
    td class="testo4">QUANDO INIZIERA' LA COSTRUZIONE?</td>
      <td><input type="text" name="datacostruzione" size="30" value="" /></td>
    </tr>
    <tr>
      <td class="testo4"><span class="testo41">CITTA'
    /PAESE DOVE COSTRUIRE</span></td>
      <
    td><input type="text" name="paesecostruzione" size="30" value="" /></td>
    </
    tr>
    <
    tr>
      <
    td class="testo4"><span class="testo41">DESTINAZIONE D'USO DELL'ABITAZIONE</span></td>
      <
    td class="testo4"><select name="uso" class="testo4">
                    <
    option value=""></option>
                    <
    option value="Prima casa">Prima casa</option>
                    <
    option value="Seconda casa">Seconda casa</option>
                    <
    option value="Rimessa attrezzi">Rimessa attrezzi</option>
                    <
    option value="Ampliamento struttura esistente">Ampliamento struttura esistente</option>
                    <
    option value="Altro">Altro</option>
                </
    select></td>
    </
    tr>
    <
    tr>
      <
    td class="testo4"><span class="testo41">SPECIFICARE LA DESRINAZIONE D'USO

        SE &quot;ALTRO&quot;</span></td>
      <td><input type="text" name="altrouso" size="30" value="" /></td>
    </tr>
    <tr>
      <td colspan="2" class="testo4"><div align="center">
        <p class="testo41"></p>
        <p class="testo41">INSERISCI L'
    EMAIL O UN NUMERO DI TELEFONO PER RICEVERE UNA RISPOSTA</p>
      </
    div></td>
      </
    tr>
    <
    tr>
      <
    td colspan="2" class="testo4"><span class="testo41">EMAIL </span>    <input type="text" name="mail" size="60" value="" /></td>
      </
    tr>
    <
    tr>
      <
    td colspan="2" class="testo4"><span class="testo41">TELEFONO </span>    <input type="text" name="telefono" size="55" value="" /></td>
      </
    tr>
    <
    tr>
      <
    td class="testo4"><span class="testo41">SE VUOI ALLEGA UN FILE

        
    (un disegno o un progetto di massima)</span></td>
      <
    td><input type="file" name="allegato" /></td>
    </
    tr>
    <
    tr>
      <
    td colspan="2" class="testo4">SE VUOI LASCIARE UN MESSAGGIO AGGIUNTIVO

        
    <textarea cols="64" rows="3" name="messaggio"></textarea></td>
      </
    tr>
    <
    tr>
      <
    td colspan="2"><input type="submit" value="Invia" /></td>
    </
    tr>
    </
    table>
    </
    form
    "a nessuno è dato sapere i segreti di un'armatura..nemmeno a chi la indossa"

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    6,034
    per andare a capo nel corpo dell'email devi usare \n dopo la variabile

    Codice PHP:
    Nome$nome  Cognome$cognome 

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    60
    perdonami ma non ho capito cosa vuoi dire
    "a nessuno è dato sapere i segreti di un'armatura..nemmeno a chi la indossa"

  4. #4

    La mia soluzione

    Mah... guarda io farei così...
    vedi questa linea:

    Codice PHP:
    $msg .= $nome $cognome $messaggio $residenza $mq $concessione $finiture $progetto
    la sostituirei così

    Codice PHP:
    $msg .= "nome " $nome " cognome " $cognome " messaggio " $messaggio " residenza " .  $residenza " mq " $mq " connessione " $concessione " finiture " $finiture " progetto " $progetto 
    così otterresti:
    nome mario cognome rossi residenza roma mq 123 ....

    se invece vuoi andare a capo ci sono due modi: in primis puoi provare come il signore che ha risposto prima di me con \n


    Codice PHP:
    $msg .= "nome " $nome "\ncognome " $cognome "\nmessaggio " $messaggio " \nresidenza " .  $residenza "\nmq " $mq "\nconnessione " $concessione "\nfiniture " $finiture "\nprogetto " $progetto 

    ma se non funziona (perchè empiricamente a me \n mi da problemi

    puoi fare

    Codice PHP:
    $msg .= "nome " $nome "
    cognome " 
    $cognome "
    messaggio " 
    $messaggio 
    residenza " 
    .  $residenza "
    mq " 
    $mq "
    connessione " 
    $concessione "
    finiture " 
    $finiture "
    progetto " 
    $progetto 

    stà per break line ed è un tag html.
    Quindi questo funziona a patto che l'email sia in formato html perciò non devi usare Content-Type: text/plain; ma devi utilizzare Content-Type:text/html;

    una critica potrebbe essere che ci sono lettori di mail che non leggono il formato html ma sono antichi.
    Siamo nel 2010 non dovresti, pertanto avere problemi.
    Spero di esserti stato di aiuto.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    6,034

    Re: La mia soluzione

    Originariamente inviato da prototipo
    se invece vuoi andare a capo ci sono due modi: in primis puoi provare come il signore che ha risposto prima di me con \n

    Codice PHP:
    $msg .= "nome " $nome "\ncognome " $cognome "\nmessaggio " $messaggio " \nresidenza " .  $residenza "\nmq " $mq "\nconnessione " $concessione "\nfiniture " $finiture "\nprogetto " $progetto 
    esatto, con backslash n vai a capo nell'email. In una pagina web puoi invece usare

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    60
    perfetto ragazzi vi ringrazio mille a tutti..
    ad ogni modo alla fine ho utilizzato \n perchè dovendomi arrivare in posta l'uso di
    mi faceva vedere i dati così:
    nome mio
    cognome miocognome......

    Vi disturbo ancora per una cosa se posso.. dovrei mettere l'obbligatorietà su alcuni campi.. come posso fare?? nel frattempo vado a fare ricerche in giro per vedere se senza fare danni al mio codice riesco a combinare qualcosa da sola a riguardo!

    vi ringrazio anticipatamente
    "a nessuno è dato sapere i segreti di un'armatura..nemmeno a chi la indossa"

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 © 2024 vBulletin Solutions, Inc. All rights reserved.